Tarea III
AdvNNs
7 de noviembre de 2025
Resumen
El objetivo de esta tarea es iniciar el proyecto final. Por favor, suba sus soluciones en un archivo comprimido a Classroom antes del 18 de noviembre.
Problema 1
Describa en los siguientes puntos clave de su proyecto:
a) Un breve resumen del proyecto. No olvide declarar claramente el objetivo de su proyecto.
En un proyecto para una aplicación que le enseñe a los niños identificar diferentes deportes a través de imágenes, se busca desarrollar modelo que dada la enorme cantidad de imágenes que se requieren para, en primer lugar, la aplicación sea entretenida y, en segundo lugar, pueda identificar si un usuario suba una imagen de un deporte específico, el modelo debe ser capaz de clasificar imágenes en diferentes categorías deportivas (fútbol, baloncesto, tenis, natación, etc.) con alta precisión y eficiencia.
b) Descripción del conjunto de datos. Describa la forma, el tamaño y el preprocesamiento existente de sus datos, incluyendo el proceso de recolección de datos, etc. Añada el enlace URL de los datos.
El conjunto de datos Sports Image Dataset contiene imágenes clasificadas en 22 categorías deportivas, cada una representada por una carpeta con el nombre del deporte correspondiente. Cada carpeta incluye entre 400 y 900 imágenes, con un total aproximado de 14,300 imágenes. Estas imágenes fueron recolectadas utilizando un scraper de Google Images, lo que asegura una amplia variedad de ejemplos para cada categoría.
El conjunto de datos está organizado de la siguiente manera:
- Número de categorías: 22 (por ejemplo, fútbol, baloncesto, natación, etc.)
- Número de imágenes por categoría: Entre 400 y 900
- Tamaño total: 494.03 MB
- Formato de las imágenes: No especificado, pero típicamente en formatos comunes como JPG o PNG
- Licencia: CC BY-NC-SA 4.0
El preprocesamiento inicial incluye la clasificación de las imágenes en carpetas según su categoría. Sin embargo, no se menciona ningún otro tipo de preprocesamiento, como el cambio de tamaño, normalización o eliminación de imágenes duplicadas.
Enlace al conjunto de datos: Sports Image Dataset en Kaggle
c) Arquitectura de su modelo. Describa todos los hiperparámetros pertenecientes a su modelo, como el número de capas, neuronas, tipo de red neuronal, etc. Aunque la arquitectura final pueda variar, explique su elección inicial y calcule el número de parámetros entrenables.
Elegire como arquitectura inicial una red neuronal convolucional (CNN) debido a su eficacia comprobada en tareas de clasificación de imágenes. La arquitectura propuesta es la siguiente:
Sera una arquitectura AlexNet, lo considero adecuado debido a su capacidad para aprender características jerárquicas y su eficacia en la clasificación de imágenes.
d) Describa otras consideraciones, incluyendo optimizador, función de coste, etc. Describa por qué los eligió entre otras posibilidades.
Se elegio un optimizador Adam por su capacidad para adaptarse a diferentes tasas de aprendizaje, y una funcion de coste de entropía cruzada categórica, adecuada para problemas de clasificación multiclase, además se programa un scheduler que reduce el learning rate de manera progresiva para mejorar la convergencia y un early stopping para evitar el sobreajuste.
Problema 2
Realice un análisis exploratorio de datos. Anote todas sus conclusiones.
import os
import kagglehub
import glob
path = kagglehub.dataset_download("rishikeshkonapure/sports-image-dataset")
# Cambia 'images' por 'data' para buscar en todas las carpetas de deportes
imagenes_dir = os.path.join(path, "data")
# Buscar todas las imágenes jpg en todos los subdirectorios
imagenes = glob.glob(os.path.join(imagenes_dir, "**", "*.jpg"), recursive=True)
print(f"Total de imágenes encontradas: {len(imagenes)}")
Total de imágenes encontradas: 12991
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import os
import random
imagenes_por_carpeta = {}
for img_path in imagenes:
carpeta = os.path.basename(os.path.dirname(img_path))
imagenes_por_carpeta.setdefault(carpeta, []).append(img_path)
imagenes_seleccionadas = []
carpetas = list(imagenes_por_carpeta.keys())
for carpeta in carpetas:
imgs = imagenes_por_carpeta[carpeta]
seleccionadas = random.sample(imgs, min(2, len(imgs)))
for img in seleccionadas:
imagenes_seleccionadas.append((img, carpeta))
# Muestra las imágenes
plt.figure(figsize=(10, 2 * len(imagenes_seleccionadas) // 2))
for i, (img_path, carpeta) in enumerate(imagenes_seleccionadas):
img = mpimg.imread(img_path)
plt.subplot(len(imagenes_seleccionadas) // 2, 2, i + 1)
plt.imshow(img)
plt.axis('off')
plt.title(carpeta, fontsize=10)
plt.tight_layout()
plt.show()
La anterior salida de codigo muestra un par de imagenes por categoria deportiva, permitiendo observar la variedad y características visuales de las imágenes en cada categoría.
def brillo_medio_color(img_path: str) -> float:
"""
Calcula el brillo promedio de una imagen RGB.
El brillo se define como el promedio de los valores de los canales R, G y B.
Parámetros:
img_path (str): Ruta de la imagen.
Retorna:
float: Brillo promedio.
"""
try:
img = mpimg.imread(img_path)
if img.ndim == 3 and img.shape[2] >= 3:
# Si la imagen está en formato uint8, normaliza a [0,255]
if img.dtype == np.uint8:
brillo = np.mean(img[..., :3])
else:
brillo = np.mean(img[..., :3] * 255)
return brillo
else:
# Imagen en escala de grises
return np.mean(img)
except Exception as e:
print(f"Error al procesar {img_path}: {e}")
return np.nan
# Visualiza la distribución de brillo por carpeta y en general
import matplotlib.pyplot as plt
# Calcula brillos por carpeta
brillos_por_carpeta = {}
for carpeta, rutas in imagenes_por_carpeta.items():
brillos = [brillo_medio_color(p) for p in rutas if os.path.exists(p)]
brillos = [b for b in brillos if not np.isnan(b)]
if brillos:
brillos_por_carpeta[carpeta] = brillos
# Histograma general
todos_los_brillos = [b for brillos in brillos_por_carpeta.values() for b in brillos]
plt.figure(figsize=(8,4))
plt.hist(todos_los_brillos, bins=30, color='gray', alpha=0.7)
plt.title('Distribución general de brillo')
plt.xlabel('Brillo promedio (RGB)')
plt.ylabel('Frecuencia')
plt.show()
# Histogramas por carpeta (máx 6 carpetas para visualización)
plt.figure(figsize=(12,8))
for i, (carpeta, brillos) in enumerate(list(brillos_por_carpeta.items())[:6]):
plt.subplot(2,3,i+1)
plt.hist(brillos, bins=30, alpha=0.7)
plt.title(f'{carpeta}')
plt.xlabel('Brillo promedio')
plt.ylabel('Frecuencia')
plt.tight_layout()
plt.show()
import random
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import os
# Selecciona hasta 10 imágenes por cada carpeta (todas las carpetas incluidas)
pixeles_por_carpeta = {}
for carpeta, rutas in imagenes_por_carpeta.items():
seleccionadas = random.sample(rutas, min(10, len(rutas)))
pixeles = []
for img_path in seleccionadas:
if os.path.exists(img_path):
try:
img = mpimg.imread(img_path)
if img.ndim == 3 and img.shape[2] >= 3:
arr = img[..., :3].reshape(-1)
if img.dtype != np.uint8:
arr = (arr * 255)
arr = arr.astype(np.uint8)
else:
arr = img.reshape(-1)
arr = arr.astype(np.uint8)
pixeles.extend(arr.tolist())
except Exception as e:
pass
if pixeles:
pixeles_por_carpeta[carpeta] = pixeles
# Histograma global
todos_pixeles = [p for pixs in pixeles_por_carpeta.values() for p in pixs]
plt.figure(figsize=(8,4))
plt.hist(todos_pixeles, bins=50, color='purple', alpha=0.7)
plt.title('Distribución global de valores de píxeles (muestra de 10 imágenes por carpeta)')
plt.xlabel('Valor de píxel (0-255)')
plt.ylabel('Frecuencia')
plt.show()
# Visualización: 4 histogramas por figura para mejor claridad
carpetas_a_mostrar = list(pixeles_por_carpeta.items())
num_por_figura = 4
num_figuras = (len(carpetas_a_mostrar) + num_por_figura - 1) // num_por_figura
for fig_idx in range(num_figuras):
plt.figure(figsize=(14, 8))
for i in range(num_por_figura):
idx = fig_idx * num_por_figura + i
if idx >= len(carpetas_a_mostrar):
break
carpeta, pixs = carpetas_a_mostrar[idx]
plt.subplot(2, 2, i + 1)
plt.hist(pixs, bins=50, alpha=0.7)
plt.title(f'{carpeta}')
plt.xlabel('Valor de píxel')
plt.ylabel('Frecuencia')
plt.tight_layout()
plt.show()
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import os
from collections import Counter
anchos = []
altos = []
for img_path in imagenes:
if os.path.exists(img_path):
try:
img = mpimg.imread(img_path)
altos.append(img.shape[0])
anchos.append(img.shape[1])
except Exception as e:
pass
plt.figure(figsize=(8,4))
plt.hist(anchos, bins=30, alpha=0.7, label='Ancho')
plt.hist(altos, bins=30, alpha=0.7, label='Alto')
plt.title('Distribución de tamaños de imágenes')
plt.xlabel('Pixeles')
plt.ylabel('Frecuencia')
plt.legend()
plt.show()
# Corrige el cálculo del tamaño más común
tamanos = list(zip(anchos, altos))
contador = Counter(tamanos)
mas_comun = contador.most_common(1)[0][0] if contador else (None, None)
print(f'Tamaño más común: {mas_comun}')
print(f'Tamaños únicos: {len(contador)}')
Tamaño más común: (500, 281) Tamaños únicos: 1648
La mayoría de imagenes son de (500 x 281) pixeles, hacer un resize de todas las imagenes a (224 x 224) pixeles sera adecuado para el modelo.
'''
from PIL import Image
import glob
import os
# Carpeta de entrada y salida
input_dir = imagenes_dir
output_dir = "data_224"
os.makedirs(output_dir, exist_ok=True)
# Busca todas las imágenes jpg y png
imagenes = glob.glob(os.path.join(input_dir, "**", "*.jpg"), recursive=True) + \
glob.glob(os.path.join(input_dir, "**", "*.png"), recursive=True)
for img_path in imagenes:
with Image.open(img_path) as img:
img_resized = img.resize((224, 224), Image.LANCZOS)
# Crea la misma estructura de carpetas en la salida
rel_path = os.path.relpath(img_path, input_dir)
out_path = os.path.join(output_dir, rel_path)
os.makedirs(os.path.dirname(out_path), exist_ok=True)
img_resized.save(out_path)
'''
'\nfrom PIL import Image\nimport glob\nimport os\n\n# Carpeta de entrada y salida\ninput_dir = imagenes_dir\noutput_dir = "data_224"\n\nos.makedirs(output_dir, exist_ok=True)\n\n# Busca todas las imágenes jpg y png\nimagenes = glob.glob(os.path.join(input_dir, "**", "*.jpg"), recursive=True) + glob.glob(os.path.join(input_dir, "**", "*.png"), recursive=True)\n\nfor img_path in imagenes:\n with Image.open(img_path) as img:\n img_resized = img.resize((224, 224), Image.LANCZOS)\n # Crea la misma estructura de carpetas en la salida\n rel_path = os.path.relpath(img_path, input_dir)\n out_path = os.path.join(output_dir, rel_path)\n os.makedirs(os.path.dirname(out_path), exist_ok=True)\n img_resized.save(out_path)\n'
Problema 3
Realice una implementación inicial "ingenua" de su proyecto usando PyTorch. Calcule al menos lo siguiente:
a) Gráfica de error a lo largo de las iteraciones.
b) Precisiones finales de entrenamiento/prueba.
c) Tiempo de su simulación (entrenamiento).
d) Muestre un dato donde su modelo entrenado exhiba un desempeño excelente.
e) Muestre un dato donde su modelo entrenado exhiba un desempeño pobre.
f) Identifique el mayor problema/desafío con su modelo actual.
g) Proponga un plan para abordar lo anterior.
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, Subset
from torchvision import datasets, transforms, models
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np
import time
import os
from collections import Counter
# Configuración de dispositivo
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f'Usando dispositivo: {device}')
# Hiperparámetros
BATCH_SIZE = 32
NUM_EPOCHS = 20
LEARNING_RATE = 1e-4
TRAIN_SPLIT = 0.8
# Transformaciones para las imágenes (con resize incluido)
transform = transforms.Compose([
transforms.Resize((224, 224)), # Resize mediante PyTorch
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
# Carga del dataset desde el directorio de Kaggle (imagenes_dir ya definido antes)
print(f'Cargando dataset desde: {imagenes_dir}')
dataset = datasets.ImageFolder(root=imagenes_dir, transform=transform)
print(f'Total de imágenes: {len(dataset)}')
print(f'Clases: {dataset.classes}')
print(f'Número de clases: {len(dataset.classes)}')
# División estratificada en entrenamiento y prueba (balance perfecto por clase)
targets = [label for _, label in dataset.samples]
indices = list(range(len(dataset)))
train_indices, test_indices = train_test_split(
indices,
test_size=1-TRAIN_SPLIT,
stratify=targets,
random_state=42
)
# Crear subsets balanceados
train_dataset = Subset(dataset, train_indices)
test_dataset = Subset(dataset, test_indices)
train_loader = DataLoader(train_dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=0)
test_loader = DataLoader(test_dataset, batch_size=BATCH_SIZE, shuffle=False, num_workers=0)
print(f'\nTamaño del conjunto de entrenamiento: {len(train_indices)}')
print(f'Tamaño del conjunto de prueba: {len(test_indices)}')
Usando dispositivo: cuda Cargando dataset desde: C:\Users\sergi\.cache\kagglehub\datasets\rishikeshkonapure\sports-image-dataset\versions\1\data Total de imágenes: 14149 Clases: ['badminton', 'baseball', 'basketball', 'boxing', 'chess', 'cricket', 'fencing', 'football', 'formula1', 'gymnastics', 'hockey', 'ice_hockey', 'kabaddi', 'motogp', 'shooting', 'swimming', 'table_tennis', 'tennis', 'volleyball', 'weight_lifting', 'wrestling', 'wwe'] Número de clases: 22 Tamaño del conjunto de entrenamiento: 11319 Tamaño del conjunto de prueba: 2830
# --- Data Augmentation: aplicar solo al conjunto de entrenamiento ---
import random
torch.manual_seed(42)
np.random.seed(42)
random.seed(42)
train_transform = transforms.Compose([
transforms.Resize((224, 224)), # Resize mediante PyTorch
transforms.RandomResizedCrop(224, scale=(0.5, 1.0)), # zoom_range=0.5 equivalente
transforms.RandomHorizontalFlip(p=0.5),
transforms.RandomVerticalFlip(p=0.5), # vertical_flip añadido
transforms.RandomRotation(degrees=40), # rotation_range=40
transforms.RandomAffine(degrees=0, translate=(0.3, 0.2)), # width/height shift
transforms.ColorJitter(brightness=(0.2, 1.0), contrast=0.2, saturation=0.2, hue=0.05), # brightness_range ajustado
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
# Para validación / test: determinista (solo resize y normalización)
test_transform = transforms.Compose([
transforms.Resize((224, 224)), # Resize mediante PyTorch
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
# Reconstruir datasets con las nuevas transformaciones desde el directorio de Kaggle
train_folder = datasets.ImageFolder(root=imagenes_dir, transform=train_transform)
test_folder = datasets.ImageFolder(root=imagenes_dir, transform=test_transform)
# Usar los mismos índices estratificados que calculamos anteriormente
train_dataset = Subset(train_folder, train_indices)
test_dataset = Subset(test_folder, test_indices)
# Actualizar DataLoaders
train_loader = DataLoader(train_dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=0)
test_loader = DataLoader(test_dataset, batch_size=BATCH_SIZE, shuffle=False, num_workers=0)
print('\n>> Data augmentation aplicado: train_transform definido con Resize, RandomResizedCrop, RandomHorizontalFlip y ColorJitter')
print(f"Train samples: {len(train_dataset)}, Test samples: {len(test_dataset)}")
print(f"Dataset cargado desde: {imagenes_dir}")
>> Data augmentation aplicado: train_transform definido con Resize, RandomResizedCrop, RandomHorizontalFlip y ColorJitter Train samples: 11319, Test samples: 2830 Dataset cargado desde: C:\Users\sergi\.cache\kagglehub\datasets\rishikeshkonapure\sports-image-dataset\versions\1\data
# === Estadísticas desde DataLoaders (incluye augmentations en train) ===
print('\n=== Estadísticas usando DataLoaders (muestras con transforms aplicadas) ===')
def compute_loader_stats(loader, n_batches=50):
"""Calcula media y std por canal a partir de batches del loader.
Se des-normaliza cada batch antes de calcular estadísticas para obtener valores en [0,1].
"""
means_r, means_g, means_b = [], [], []
stds_r, stds_g, stds_b = [], [], []
mean = np.array([0.485, 0.456, 0.406])
std = np.array([0.229, 0.224, 0.225])
batches = 0
for images, _ in loader:
imgs = images.cpu().numpy() # (B, C, H, W)
imgs = np.transpose(imgs, (0, 2, 3, 1)) # (B, H, W, C)
# Des-normalizar: x = x * std + mean
imgs = imgs * std + mean
imgs = np.clip(imgs, 0.0, 1.0)
# calular por imagen
for im in imgs:
means_r.append(im[:, :, 0].mean())
means_g.append(im[:, :, 1].mean())
means_b.append(im[:, :, 2].mean())
stds_r.append(im[:, :, 0].std())
stds_g.append(im[:, :, 1].std())
stds_b.append(im[:, :, 2].std())
batches += 1
if batches >= n_batches:
break
return {
'mean_r': np.mean(means_r), 'mean_g': np.mean(means_g), 'mean_b': np.mean(means_b),
'std_r': np.mean(stds_r), 'std_g': np.mean(stds_g), 'std_b': np.mean(stds_b)
}
# Calcular estadísticas a partir de los loaders (train con augmentations, test sin augmentations)
train_loader_stats = compute_loader_stats(train_loader, n_batches=50)
test_loader_stats = compute_loader_stats(test_loader, n_batches=50)
# Mostrar tabla comparativa
print(f"{'Estadística':<20} {'Train':<12} {'Test':<12} {'Drift Absoluto':<15} {'Drift %':<10}")
print('-' * 80)
for stat in ['mean_r', 'mean_g', 'mean_b', 'std_r', 'std_g', 'std_b']:
t = train_loader_stats[stat]
s = test_loader_stats[stat]
drift_abs = abs(t - s)
drift_pct = 100 * drift_abs / (t + 1e-10)
print(f"{stat:<20} {t:<12.6f} {s:<12.6f} {drift_abs:<15.6f} {drift_pct:<10.4f}")
all_drifts = [abs(train_loader_stats[s] - test_loader_stats[s]) / (train_loader_stats[s] + 1e-10) * 100
for s in train_loader_stats.keys()]
print(f"\nDrift promedio (loader): {np.mean(all_drifts):.4f}%")
print(f"Drift máximo (loader): {np.max(all_drifts):.4f}%")
# Mostrar algunas imágenes aumentadas (des-normalizadas) para inspección
print('\nMostrando 12 imágenes aumentadas de ejemplo (train)')
mean = np.array([0.485, 0.456, 0.406])
std = np.array([0.229, 0.224, 0.225])
batch = next(iter(train_loader))
imgs, labels = batch
imgs = imgs[:12] # tomar hasta 12
imgs = imgs.cpu().numpy()
imgs = np.transpose(imgs, (0, 2, 3, 1))
imgs = imgs * std + mean
imgs = np.clip(imgs, 0, 1)
fig, axes = plt.subplots(3, 4, figsize=(12, 9))
axes = axes.flatten()
for i, ax in enumerate(axes):
if i >= imgs.shape[0]:
ax.axis('off')
continue
ax.imshow(imgs[i])
ax.set_title(f'Label: {labels[i].item()}')
ax.axis('off')
plt.tight_layout()
plt.show()
=== Estadísticas usando DataLoaders (muestras con transforms aplicadas) === Estadística Train Test Drift Absoluto Drift % -------------------------------------------------------------------------------- mean_r 0.201319 0.450829 0.249510 123.9376 mean_g 0.194017 0.439190 0.245173 126.3665 mean_b 0.187057 0.421824 0.234767 125.5059 std_r 0.177292 0.244122 0.066830 37.6947 std_g 0.167327 0.226756 0.059428 35.5162 std_b 0.163185 0.226976 0.063791 39.0911 Drift promedio (loader): 81.3520% Drift máximo (loader): 126.3665% Mostrando 12 imágenes aumentadas de ejemplo (train)
train_labels = [targets[i] for i in train_indices]
test_labels = [targets[i] for i in test_indices]
# Contar clases
train_counts = Counter(train_labels)
test_counts = Counter(test_labels)
print('\n=== Distribución de Clases ===')
print(f'{"Clase":<20} {"Train":<10} {"Test":<10} {"Train %":<10} {"Test %":<10} {"Drift %":<10}')
print('-' * 80)
drifts = []
for i, class_name in enumerate(dataset.classes):
train_count = train_counts[i]
test_count = test_counts[i]
train_pct = 100 * train_count / len(train_labels)
test_pct = 100 * test_count / len(test_labels)
drift = abs(train_pct - test_pct)
drifts.append(drift)
print(f'{class_name:<20} {train_count:<10} {test_count:<10} {train_pct:<10.2f} {test_pct:<10.2f} {drift:<10.4f}')
print(f'\nDrift promedio: {np.mean(drifts):.4f}%')
print(f'Drift máximo: {np.max(drifts):.4f}%')
# Visualización de la distribución
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 6))
# Gráfica de barras comparativa
x = np.arange(len(dataset.classes))
width = 0.35
ax1.bar(x - width/2, [train_counts[i] for i in range(len(dataset.classes))],
width, label='Train', alpha=0.8, color='blue')
ax1.bar(x + width/2, [test_counts[i] for i in range(len(dataset.classes))],
width, label='Test', alpha=0.8, color='red')
ax1.set_xlabel('Clase', fontsize=11)
ax1.set_ylabel('Número de imágenes', fontsize=11)
ax1.set_title('Distribución de Clases: Train vs Test', fontsize=13, fontweight='bold')
ax1.set_xticks(x)
ax1.set_xticklabels(dataset.classes, rotation=45, ha='right', fontsize=9)
ax1.legend()
ax1.grid(True, alpha=0.3)
# Gráfica de drift
ax2.bar(x, drifts, color='orange', alpha=0.7)
ax2.set_xlabel('Clase', fontsize=11)
ax2.set_ylabel('Drift (%)', fontsize=11)
ax2.set_title('Drift de Distribución entre Train y Test', fontsize=13, fontweight='bold')
ax2.set_xticks(x)
ax2.set_xticklabels(dataset.classes, rotation=45, ha='right', fontsize=9)
ax2.axhline(y=np.mean(drifts), color='r', linestyle='--', label=f'Promedio: {np.mean(drifts):.4f}%')
ax2.legend()
ax2.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
=== Distribución de Clases === Clase Train Test Train % Test % Drift % -------------------------------------------------------------------------------- badminton 734 183 6.48 6.47 0.0182 baseball 577 144 5.10 5.09 0.0093 basketball 385 96 3.40 3.39 0.0091 boxing 556 139 4.91 4.91 0.0004 chess 374 94 3.30 3.32 0.0174 cricket 525 131 4.64 4.63 0.0092 fencing 492 123 4.35 4.35 0.0004 football 621 155 5.49 5.48 0.0093 formula1 534 134 4.72 4.73 0.0173 gymnastics 563 141 4.97 4.98 0.0084 hockey 447 112 3.95 3.96 0.0085 ice_hockey 558 139 4.93 4.91 0.0181 kabaddi 354 88 3.13 3.11 0.0179 motogp 526 132 4.65 4.66 0.0173 shooting 418 105 3.69 3.71 0.0173 swimming 540 135 4.77 4.77 0.0004 table_tennis 557 139 4.92 4.91 0.0093 tennis 562 141 4.97 4.98 0.0172 volleyball 552 138 4.88 4.88 0.0004 weight_lifting 448 112 3.96 3.96 0.0003 wrestling 472 118 4.17 4.17 0.0004 wwe 524 131 4.63 4.63 0.0004 Drift promedio: 0.0094% Drift máximo: 0.0182%
Por lo visto las distribuciones entre el test y el conjunto de train, en la mayoria de clases no tienen un drift significativo
print('\n=== Análisis de Drift de Píxeles ===')
print('Calculando estadísticas de píxeles (muestra de 50 imágenes por conjunto)...\n')
# Función para calcular estadísticas de píxeles de manera eficiente
def calcular_estadisticas_pixeles(indices, dataset, n_muestras=50):
"""Calcula media y std de píxeles RGB de una muestra del dataset"""
muestra_indices = np.random.choice(indices, min(n_muestras, len(indices)), replace=False)
medias_r, medias_g, medias_b = [], [], []
stds_r, stds_g, stds_b = [], [], []
for idx in muestra_indices:
img_path = dataset.samples[idx][0]
try:
# Leer imagen sin transformaciones para estadísticas originales
from PIL import Image
img = Image.open(img_path).convert('RGB')
img_array = np.array(img).astype(np.float32) / 255.0
medias_r.append(img_array[:,:,0].mean())
medias_g.append(img_array[:,:,1].mean())
medias_b.append(img_array[:,:,2].mean())
stds_r.append(img_array[:,:,0].std())
stds_g.append(img_array[:,:,1].std())
stds_b.append(img_array[:,:,2].std())
except Exception as e:
continue
return {
'mean_r': np.mean(medias_r), 'mean_g': np.mean(medias_g), 'mean_b': np.mean(medias_b),
'std_r': np.mean(stds_r), 'std_g': np.mean(stds_g), 'std_b': np.mean(stds_b)
}
# Calcular estadísticas para train y test
train_stats = calcular_estadisticas_pixeles(train_indices, dataset)
test_stats = calcular_estadisticas_pixeles(test_indices, dataset)
# Calcular drift
print(f'{"Estadística":<20} {"Train":<12} {"Test":<12} {"Drift Absoluto":<15} {"Drift %":<10}')
print('-' * 75)
for stat in ['mean_r', 'mean_g', 'mean_b', 'std_r', 'std_g', 'std_b']:
train_val = train_stats[stat]
test_val = test_stats[stat]
drift_abs = abs(train_val - test_val)
drift_pct = 100 * drift_abs / (train_val + 1e-10)
print(f'{stat:<20} {train_val:<12.6f} {test_val:<12.6f} {drift_abs:<15.6f} {drift_pct:<10.4f}')
# Calcular drift global
all_drifts = [abs(train_stats[s] - test_stats[s]) / (train_stats[s] + 1e-10) * 100
for s in train_stats.keys()]
print(f'\nDrift promedio de píxeles: {np.mean(all_drifts):.4f}%')
print(f'Drift máximo de píxeles: {np.max(all_drifts):.4f}%')
# Visualización del drift de píxeles
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 5))
# Comparación de medias RGB
canales = ['R', 'G', 'B']
train_means = [train_stats['mean_r'], train_stats['mean_g'], train_stats['mean_b']]
test_means = [test_stats['mean_r'], test_stats['mean_g'], test_stats['mean_b']]
x = np.arange(len(canales))
width = 0.35
ax1.bar(x - width/2, train_means, width, label='Train', alpha=0.8, color=['red', 'green', 'blue'])
ax1.bar(x + width/2, test_means, width, label='Test', alpha=0.6, color=['darkred', 'darkgreen', 'darkblue'])
ax1.set_xlabel('Canal', fontsize=12)
ax1.set_ylabel('Media de Píxeles [0-1]', fontsize=12)
ax1.set_title('Comparación de Medias de Píxeles RGB', fontsize=14, fontweight='bold')
ax1.set_xticks(x)
ax1.set_xticklabels(canales)
ax1.legend()
ax1.grid(True, alpha=0.3)
# Comparación de desviaciones estándar
train_stds = [train_stats['std_r'], train_stats['std_g'], train_stats['std_b']]
test_stds = [test_stats['std_r'], test_stats['std_g'], test_stats['std_b']]
ax2.bar(x - width/2, train_stds, width, label='Train', alpha=0.8, color=['red', 'green', 'blue'])
ax2.bar(x + width/2, test_stds, width, label='Test', alpha=0.6, color=['darkred', 'darkgreen', 'darkblue'])
ax2.set_xlabel('Canal', fontsize=12)
ax2.set_ylabel('Desviación Estándar [0-1]', fontsize=12)
ax2.set_title('Comparación de Desviaciones Estándar RGB', fontsize=14, fontweight='bold')
ax2.set_xticks(x)
ax2.set_xticklabels(canales)
ax2.legend()
ax2.grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
=== Análisis de Drift de Píxeles === Calculando estadísticas de píxeles (muestra de 50 imágenes por conjunto)... Estadística Train Test Drift Absoluto Drift % --------------------------------------------------------------------------- mean_r 0.451029 0.424263 0.026766 5.9344 mean_g 0.445480 0.412353 0.033127 7.4362 mean_b 0.433185 0.409924 0.023261 5.3698 std_r 0.248482 0.244532 0.003950 1.5897 std_g 0.228080 0.225105 0.002975 1.3045 std_b 0.229111 0.226819 0.002292 1.0004 Drift promedio de píxeles: 3.7725% Drift máximo de píxeles: 7.4362%
Vemos que existe un porcentaje de drift considerable en el verde, sin embargo vemos en la media estandar de los 3 colores que la del rojo es la que tiene el drift más alto sin embargo cosidero aceptable estos porcentajes.
Existe un drift moderado een el canal verde y azul en contraste con el rojo
Modelos Disponibles: VGG16 y AlexNet con Transfer Learning¶
Implementaremos dos arquitecturas con las siguientes características:
VGG16:
- Bloques convolucionales 1-3: Congelados si se quiere - extracción de características básicas
- Bloques convolucionales 4-5: Entrenables - ajuste fino para deportes
- Capas densas personalizadas con regularización L2 y Dropout
- Total: ~134M parámetros | Entrenables: ~132M
AlexNet:
- Capas convolucionales 1-10: Congeladas si se quiere - extracción de características básicas
- Capas 11+: Entrenables - ajuste fino para deportes
- Capas densas personalizadas con Dropout
- Total: ~57M parámetros | Entrenables: ~57M
MODEL_TYPE = 'alexnet' # Opciones: 'vgg16' o 'alexnet'
import torch
import torch.nn as nn
import torchvision.models as models # (no se usa para pesos; se mantiene por compatibilidad)
# =========================
# Utilidades de congelación
# =========================
def freeze_first_n_blocks_sequential(features: nn.Sequential, n_blocks: int):
"""
Congela parámetros de las primeras n_blocks regiones separadas por MaxPool2d.
Se recorre 'features' y se incrementa el contador al encontrar MaxPool2d.
"""
if n_blocks <= 0:
return
blocks_frozen = 0
for layer in features:
# Mientras no hayamos completado los n bloques, se congela este layer
if blocks_frozen < n_blocks:
for p in layer.parameters():
p.requires_grad = False
# Al encontrar un MaxPool, consideramos que terminó un bloque
if isinstance(layer, nn.MaxPool2d):
blocks_frozen += 1
if blocks_frozen >= n_blocks:
# El resto de capas quedan entrenables
continue
# =========================
# VGG16 desde cero (custom)
# =========================
class VGG16Custom(nn.Module):
"""
Implementación de VGG16 (configuración D) desde cero.
Entrada esperada: 224x224 RGB.
"""
def __init__(self, num_classes: int = 22):
super().__init__()
self.features = nn.Sequential(
# Bloque 1
nn.Conv2d(3, 64, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(64, 64, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2), # /2
# Bloque 2
nn.Conv2d(64, 128, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(128, 128, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2), # /2
# Bloque 3
nn.Conv2d(128, 256, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(256, 256, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(256, 256, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2), # /2
# Bloque 4
nn.Conv2d(256, 512, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(512, 512, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(512, 512, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2), # /2
# Bloque 5
nn.Conv2d(512, 512, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(512, 512, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.Conv2d(512, 512, kernel_size=3, padding=1), nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=2, stride=2), # /2
)
# 224 -> 112 -> 56 -> 28 -> 14 -> 7
self.avgpool = nn.AdaptiveAvgPool2d((7, 7))
self.classifier = nn.Sequential(
nn.Linear(512 * 7 * 7, 4096),
nn.ReLU(inplace=True),
nn.Dropout(0.3),
nn.Linear(4096, 4096),
nn.ReLU(inplace=True),
nn.Dropout(0.5),
nn.Linear(4096, num_classes),
)
self._init_weights()
def _init_weights(self):
for m in self.modules():
if isinstance(m, nn.Conv2d):
nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
if m.bias is not None:
nn.init.constant_(m.bias, 0)
elif isinstance(m, nn.Linear):
nn.init.normal_(m.weight, 0, 0.01)
nn.init.constant_(m.bias, 0)
def forward(self, x):
x = self.features(x)
x = self.avgpool(x)
x = torch.flatten(x, 1)
x = self.classifier(x)
return x
def create_vgg16_model(num_classes=22, freeze_blocks=3):
"""
Crea modelo VGG16 desde cero con opción de congelar los primeros 'freeze_blocks' bloques.
Mantiene el nombre de la función original.
"""
vgg16 = VGG16Custom(num_classes=num_classes)
# Congelar bloques 1..freeze_blocks (cada bloque termina en MaxPool)
if freeze_blocks and freeze_blocks > 0:
freeze_first_n_blocks_sequential(vgg16.features, freeze_blocks)
return vgg16
# =========================
# AlexNet desde cero (custom)
# =========================
class AlexNetCustom(nn.Module):
"""
Implementación completa de AlexNet desde cero (Krizhevsky et al., 2012).
Entrada esperada: 224x224 RGB.
"""
def __init__(self, num_classes=22):
super().__init__()
self.features = nn.Sequential(
# Conv1: 224 -> 55
nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2),
# Conv2: 55 -> 27
nn.Conv2d(64, 192, kernel_size=5, padding=2),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2),
# Conv3: 27 -> 27
nn.Conv2d(192, 384, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
# Conv4: 27 -> 27
nn.Conv2d(384, 256, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
# Conv5: 27 -> 13
nn.Conv2d(256, 256, kernel_size=3, padding=1),
nn.ReLU(inplace=True),
nn.MaxPool2d(kernel_size=3, stride=2),
)
self.avgpool = nn.AdaptiveAvgPool2d((6, 6))
self.classifier = nn.Sequential(
nn.Dropout(0.5),
nn.Linear(256 * 6 * 6, 4096),
nn.ReLU(inplace=True),
nn.Dropout(0.3),
nn.Linear(4096, 4096),
nn.ReLU(inplace=True),
nn.Dropout(0.5),
nn.Linear(4096, num_classes),
)
self._init_weights()
def _init_weights(self):
for m in self.modules():
if isinstance(m, nn.Conv2d):
nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
if m.bias is not None:
nn.init.constant_(m.bias, 0)
elif isinstance(m, nn.Linear):
nn.init.normal_(m.weight, 0, 0.01)
nn.init.constant_(m.bias, 0)
def forward(self, x):
x = self.features(x)
x = self.avgpool(x)
x = torch.flatten(x, 1) # 256*6*6 = 9216
x = self.classifier(x)
return x
def create_alexnet_model(num_classes=22, freeze_blocks=3):
"""
Crea modelo AlexNet desde cero con opción de congelar los primeros 'freeze_blocks' bloques.
Mantiene el nombre de la función original.
"""
alexnet = AlexNetCustom(num_classes=num_classes)
if freeze_blocks and freeze_blocks > 0:
freeze_first_n_blocks_sequential(alexnet.features, freeze_blocks)
return alexnet
# Crear el modelo según la configuración
print(f'\n=== Creando modelo {MODEL_TYPE.upper()} con Transfer Learning ===')
if MODEL_TYPE.lower() == 'vgg16':
model = create_vgg16_model(num_classes=len(dataset.classes), freeze_blocks=3)
model_name = 'VGG16'
elif MODEL_TYPE.lower() == 'alexnet':
model = create_alexnet_model(num_classes=len(dataset.classes), freeze_blocks=0)
model_name = 'AlexNet'
else:
raise ValueError(f"MODEL_TYPE debe ser 'vgg16' o 'alexnet', no '{MODEL_TYPE}'")
model = model.to(device)
# Contar parámetros entrenables y no entrenables
total_params = sum(p.numel() for p in model.parameters())
trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)
frozen_params = total_params - trainable_params
print(f'\n=== Arquitectura del Modelo ===')
print(f'Modelo: {model_name}')
print(f'\nNúmero total de parámetros: {total_params:,}')
print(f'Parámetros entrenables: {trainable_params:,}')
print(f'Parámetros congelados: {frozen_params:,}')
print(f'\nEstructura:')
if MODEL_TYPE.lower() == 'vgg16':
print(f' - Bloques 1-3: CONGELADOS (extracción de características)')
print(f' - Bloques 4-5: ENTRENABLES (ajuste fino)')
print(f' - Clasificador: 25088 → 4096 → Dropout(0.3) → 4096 → Dropout(0.5) → {len(dataset.classes)}')
else:
print(f' - Capas 1-10: CONGELADAS (extracción de características)')
print(f' - Capas 11+: ENTRENABLES (ajuste fino)')
print(f' - Clasificador: 9216 → Dropout(0.5) → 4096 → Dropout(0.3) → 4096 → Dropout(0.5) → {len(dataset.classes)}')
=== Creando modelo ALEXNET con Transfer Learning === === Arquitectura del Modelo === Modelo: AlexNet Número total de parámetros: 57,093,974 Parámetros entrenables: 57,093,974 Parámetros congelados: 0 Estructura: - Capas 1-10: CONGELADAS (extracción de características) - Capas 11+: ENTRENABLES (ajuste fino) - Clasificador: 9216 → Dropout(0.5) → 4096 → Dropout(0.3) → 4096 → Dropout(0.5) → 22 === Arquitectura del Modelo === Modelo: AlexNet Número total de parámetros: 57,093,974 Parámetros entrenables: 57,093,974 Parámetros congelados: 0 Estructura: - Capas 1-10: CONGELADAS (extracción de características) - Capas 11+: ENTRENABLES (ajuste fino) - Clasificador: 9216 → Dropout(0.5) → 4096 → Dropout(0.3) → 4096 → Dropout(0.5) → 22
# Configuración de entrenamiento
# Hiperparámetros
BATCH_SIZE = 32
NUM_EPOCHS = 150
LEARNING_RATE = 1e-4
# Función de pérdida y optimizador con regularización L2
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=LEARNING_RATE)
# Calcular class weights para compensar desbalance
from collections import Counter
train_labels = [targets[i] for i in train_indices]
class_counts = Counter(train_labels)
max_count = float(max(class_counts.values()))
class_weights_dict = {class_id: max_count / num_images for class_id, num_images in class_counts.items()}
class_weights_tensor = torch.tensor([class_weights_dict[i] for i in range(len(dataset.classes))], dtype=torch.float32).to(device)
# Actualizar criterion con class weights
criterion = nn.CrossEntropyLoss(weight=class_weights_tensor)
from torch.optim.lr_scheduler import ReduceLROnPlateau
import copy
# Learning Rate Scheduler: reduce LR cuando test loss no mejora
scheduler = ReduceLROnPlateau(
optimizer,
mode='min', # minimizar test_loss
factor=0.5, # reducir LR a la mitad
patience=8, # esperar 8 épocas sin mejora
verbose=True, # imprimir cuando se reduzca LR
min_lr=1e-7 # LR mínimo
)
# Checkpointing: guardar mejor modelo (por test_accuracy)
best_test_acc = 0.0
best_model_wts = copy.deepcopy(model.state_dict())
best_epoch = 0
save_best_path = f'{MODEL_TYPE}_best_checkpoint.pth'
early_stopping_patience = 15 # detener después de 15 épocas sin mejora
no_improve_epochs = 0
print(f'\\n=== Configuración de Entrenamiento ===')
print(f'Modelo: {model_name}')
print(f'Batch size: {BATCH_SIZE}')
print(f'Épocas: {NUM_EPOCHS}')
print(f'Learning rate: {LEARNING_RATE}')
print(f'Optimizador: Adam con weight_decay=0')
print(f'Función de pérdida: CrossEntropyLoss con class weights')
print(f'\\n=== Mejoras Aplicadas ===')
print(f'✓ ReduceLROnPlateau: factor=0.5, patience=8')
print(f'✓ Checkpointing: guardando mejor modelo en {save_best_path}')
print(f'✓ Early Stopping: patience={early_stopping_patience} épocas')
\n=== Configuración de Entrenamiento === Modelo: AlexNet Batch size: 32 Épocas: 150 Learning rate: 0.0001 Optimizador: Adam con weight_decay=0 Función de pérdida: CrossEntropyLoss con class weights \n=== Mejoras Aplicadas === ✓ ReduceLROnPlateau: factor=0.5, patience=8 ✓ Checkpointing: guardando mejor modelo en alexnet_best_checkpoint.pth ✓ Early Stopping: patience=15 épocas
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f'Usando dispositivo: {device}')
Usando dispositivo: cuda
train_losses = []
train_accuracies = []
test_losses = []
test_accuracies = []
print(f'\n=== Iniciando Entrenamiento de {model_name} ===')
print(f'Total de épocas: {NUM_EPOCHS}')
print(f'Entrenamiento en: {device}\n')
start_time = time.time()
for epoch in range(NUM_EPOCHS):
epoch_start = time.time()
# ========== FASE DE ENTRENAMIENTO ==========
model.train()
running_loss = 0.0
correct = 0
total = 0
for batch_idx, (images, labels) in enumerate(train_loader):
images, labels = images.to(device), labels.to(device)
# Forward pass
optimizer.zero_grad()
outputs = model(images)
loss = criterion(outputs, labels)
# Backward pass y optimización
loss.backward()
optimizer.step()
# Estadísticas
running_loss += loss.item()
_, predicted = torch.max(outputs.data, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
if (batch_idx + 1) % 50 == 0:
print(f'Epoch [{epoch+1}/{NUM_EPOCHS}], Step [{batch_idx+1}/{len(train_loader)}], '
f'Loss: {loss.item():.4f}, Acc: {100*correct/total:.2f}%')
train_loss = running_loss / len(train_loader)
train_accuracy = 100 * correct / total
train_losses.append(train_loss)
train_accuracies.append(train_accuracy)
model.eval()
test_loss = 0.0
correct = 0
total = 0
with torch.no_grad():
for images, labels in test_loader:
images, labels = images.to(device), labels.to(device)
outputs = model(images)
loss = criterion(outputs, labels)
test_loss += loss.item()
_, predicted = torch.max(outputs.data, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
test_loss = test_loss / len(test_loader)
test_accuracy = 100 * correct / total
test_losses.append(test_loss)
test_accuracies.append(test_accuracy)
epoch_time = time.time() - epoch_start
# ========== SCHEDULER: reducir LR si test_loss no mejora ==========
scheduler.step(test_loss)
# ========== CHECKPOINTING: guardar mejor modelo ==========
if test_accuracy > best_test_acc:
best_test_acc = test_accuracy
best_epoch = epoch + 1
best_model_wts = copy.deepcopy(model.state_dict())
torch.save({
'epoch': best_epoch,
'model_state_dict': best_model_wts,
'optimizer_state_dict': optimizer.state_dict(),
'test_accuracy': best_test_acc,
'test_loss': test_loss,
'train_accuracy': train_accuracy,
'train_loss': train_loss,
'class_names': dataset.classes,
'model_type': MODEL_TYPE
}, save_best_path)
no_improve_epochs = 0
print(f'✓ Nuevo mejor modelo guardado: Test Acc = {best_test_acc:.2f}% (época {best_epoch})')
else:
no_improve_epochs += 1
# Mostrar progreso cada época
print(f'\n{"="*80}')
print(f'Época [{epoch+1}/{NUM_EPOCHS}] Completada')
print(f'{"="*80}')
print(f'Train Loss: {train_loss:.4f} | Train Acc: {train_accuracy:.2f}%')
print(f'Test Loss: {test_loss:.4f} | Test Acc: {test_accuracy:.2f}%')
print(f'Gap (Overfitting): {train_accuracy - test_accuracy:.2f}%')
print(f'Mejor Test Acc hasta ahora: {best_test_acc:.2f}% (época {best_epoch})')
print(f'Épocas sin mejora: {no_improve_epochs}/{early_stopping_patience}')
print(f'Learning Rate actual: {optimizer.param_groups[0]["lr"]:.2e}')
print(f'Tiempo de época: {epoch_time:.2f}s')
print(f'{"="*80}\n')
# ========== EARLY STOPPING ==========
if no_improve_epochs >= early_stopping_patience:
print(f'\n{"!"*80}')
print(f'{"EARLY STOPPING ACTIVADO":^80}')
print(f'{"!"*80}')
print(f'No se observó mejora en Test Accuracy durante {early_stopping_patience} épocas consecutivas.')
print(f'Deteniendo entrenamiento en época {epoch+1}.')
print(f'Mejor modelo: época {best_epoch} con Test Acc = {best_test_acc:.2f}%')
print(f'{"!"*80}\n')
break
total_time = time.time() - start_time
# Cargar mejor modelo para evaluación final
print(f'\n{"*"*80}')
print(f'Cargando mejor modelo (época {best_epoch}) para evaluación final...')
model.load_state_dict(best_model_wts)
print(f'{"*"*80}\n')
print(f'\n{"#"*80}')
print(f'{"ENTRENAMIENTO COMPLETADO":^80}')
print(f'{"#"*80}')
print(f'Tiempo total: {total_time/60:.2f} minutos ({total_time:.2f} segundos)')
print(f'Épocas completadas: {len(train_losses)}')
print(f'Mejor Test Accuracy: {best_test_acc:.2f}% (época {best_epoch})')
print(f'Precisión final de entrenamiento: {train_accuracies[-1]:.2f}%')
print(f'Precisión final de prueba: {test_accuracies[-1]:.2f}%')
print(f'Gap final: {train_accuracies[-1] - test_accuracies[-1]:.2f}%')
print(f'{"#"*80}\n')
=== Iniciando Entrenamiento de AlexNet ===
Total de épocas: 150
Entrenamiento en: cuda
Epoch [1/150], Step [50/354], Loss: 3.0912, Acc: 5.12%
Epoch [1/150], Step [50/354], Loss: 3.0912, Acc: 5.12%
Epoch [1/150], Step [100/354], Loss: 3.1110, Acc: 5.06%
Epoch [1/150], Step [100/354], Loss: 3.1110, Acc: 5.06%
Epoch [1/150], Step [150/354], Loss: 3.0636, Acc: 5.23%
Epoch [1/150], Step [150/354], Loss: 3.0636, Acc: 5.23%
Epoch [1/150], Step [200/354], Loss: 2.9660, Acc: 6.00%
Epoch [1/150], Step [200/354], Loss: 2.9660, Acc: 6.00%
Epoch [1/150], Step [250/354], Loss: 3.0736, Acc: 6.60%
Epoch [1/150], Step [250/354], Loss: 3.0736, Acc: 6.60%
Epoch [1/150], Step [300/354], Loss: 2.8892, Acc: 7.12%
Epoch [1/150], Step [300/354], Loss: 2.8892, Acc: 7.12%
Epoch [1/150], Step [350/354], Loss: 2.8521, Acc: 7.72%
Epoch [1/150], Step [350/354], Loss: 2.8521, Acc: 7.72%
✓ Nuevo mejor modelo guardado: Test Acc = 12.47% (época 1)
================================================================================
Época [1/150] Completada
================================================================================
Train Loss: 3.0027 | Train Acc: 7.75%
Test Loss: 2.8159 | Test Acc: 12.47%
Gap (Overfitting): -4.73%
Mejor Test Acc hasta ahora: 12.47% (época 1)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.90s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 12.47% (época 1)
================================================================================
Época [1/150] Completada
================================================================================
Train Loss: 3.0027 | Train Acc: 7.75%
Test Loss: 2.8159 | Test Acc: 12.47%
Gap (Overfitting): -4.73%
Mejor Test Acc hasta ahora: 12.47% (época 1)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.90s
================================================================================
Epoch [2/150], Step [50/354], Loss: 2.7886, Acc: 10.12%
Epoch [2/150], Step [50/354], Loss: 2.7886, Acc: 10.12%
Epoch [2/150], Step [100/354], Loss: 2.7413, Acc: 9.66%
Epoch [2/150], Step [100/354], Loss: 2.7413, Acc: 9.66%
Epoch [2/150], Step [150/354], Loss: 2.7252, Acc: 10.44%
Epoch [2/150], Step [150/354], Loss: 2.7252, Acc: 10.44%
Epoch [2/150], Step [200/354], Loss: 2.5579, Acc: 10.91%
Epoch [2/150], Step [200/354], Loss: 2.5579, Acc: 10.91%
Epoch [2/150], Step [250/354], Loss: 2.7336, Acc: 11.25%
Epoch [2/150], Step [250/354], Loss: 2.7336, Acc: 11.25%
Epoch [2/150], Step [300/354], Loss: 3.0027, Acc: 11.92%
Epoch [2/150], Step [300/354], Loss: 3.0027, Acc: 11.92%
Epoch [2/150], Step [350/354], Loss: 2.6538, Acc: 12.34%
Epoch [2/150], Step [350/354], Loss: 2.6538, Acc: 12.34%
✓ Nuevo mejor modelo guardado: Test Acc = 16.29% (época 2)
================================================================================
Época [2/150] Completada
================================================================================
Train Loss: 2.8325 | Train Acc: 12.40%
Test Loss: 2.6644 | Test Acc: 16.29%
Gap (Overfitting): -3.89%
Mejor Test Acc hasta ahora: 16.29% (época 2)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 165.55s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 16.29% (época 2)
================================================================================
Época [2/150] Completada
================================================================================
Train Loss: 2.8325 | Train Acc: 12.40%
Test Loss: 2.6644 | Test Acc: 16.29%
Gap (Overfitting): -3.89%
Mejor Test Acc hasta ahora: 16.29% (época 2)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 165.55s
================================================================================
Epoch [3/150], Step [50/354], Loss: 2.8094, Acc: 14.38%
Epoch [3/150], Step [50/354], Loss: 2.8094, Acc: 14.38%
Epoch [3/150], Step [100/354], Loss: 2.6584, Acc: 14.53%
Epoch [3/150], Step [100/354], Loss: 2.6584, Acc: 14.53%
Epoch [3/150], Step [150/354], Loss: 2.5974, Acc: 14.38%
Epoch [3/150], Step [150/354], Loss: 2.5974, Acc: 14.38%
Epoch [3/150], Step [200/354], Loss: 2.8930, Acc: 14.97%
Epoch [3/150], Step [200/354], Loss: 2.8930, Acc: 14.97%
Epoch [3/150], Step [250/354], Loss: 2.6534, Acc: 15.29%
Epoch [3/150], Step [250/354], Loss: 2.6534, Acc: 15.29%
Epoch [3/150], Step [300/354], Loss: 2.4304, Acc: 15.39%
Epoch [3/150], Step [300/354], Loss: 2.4304, Acc: 15.39%
Epoch [3/150], Step [350/354], Loss: 2.6535, Acc: 15.29%
Epoch [3/150], Step [350/354], Loss: 2.6535, Acc: 15.29%
✓ Nuevo mejor modelo guardado: Test Acc = 18.45% (época 3)
================================================================================
Época [3/150] Completada
================================================================================
Train Loss: 2.7431 | Train Acc: 15.30%
Test Loss: 2.5836 | Test Acc: 18.45%
Gap (Overfitting): -3.14%
Mejor Test Acc hasta ahora: 18.45% (época 3)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.23s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 18.45% (época 3)
================================================================================
Época [3/150] Completada
================================================================================
Train Loss: 2.7431 | Train Acc: 15.30%
Test Loss: 2.5836 | Test Acc: 18.45%
Gap (Overfitting): -3.14%
Mejor Test Acc hasta ahora: 18.45% (época 3)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.23s
================================================================================
Epoch [4/150], Step [50/354], Loss: 2.5774, Acc: 15.44%
Epoch [4/150], Step [50/354], Loss: 2.5774, Acc: 15.44%
Epoch [4/150], Step [100/354], Loss: 2.5490, Acc: 16.78%
Epoch [4/150], Step [100/354], Loss: 2.5490, Acc: 16.78%
Epoch [4/150], Step [150/354], Loss: 2.6475, Acc: 17.29%
Epoch [4/150], Step [150/354], Loss: 2.6475, Acc: 17.29%
Epoch [4/150], Step [200/354], Loss: 2.5939, Acc: 17.42%
Epoch [4/150], Step [200/354], Loss: 2.5939, Acc: 17.42%
Epoch [4/150], Step [250/354], Loss: 2.8799, Acc: 17.48%
Epoch [4/150], Step [250/354], Loss: 2.8799, Acc: 17.48%
Epoch [4/150], Step [300/354], Loss: 2.6315, Acc: 17.34%
Epoch [4/150], Step [300/354], Loss: 2.6315, Acc: 17.34%
Epoch [4/150], Step [350/354], Loss: 2.6364, Acc: 17.41%
Epoch [4/150], Step [350/354], Loss: 2.6364, Acc: 17.41%
✓ Nuevo mejor modelo guardado: Test Acc = 20.99% (época 4)
================================================================================
Época [4/150] Completada
================================================================================
Train Loss: 2.6625 | Train Acc: 17.41%
Test Loss: 2.5709 | Test Acc: 20.99%
Gap (Overfitting): -3.58%
Mejor Test Acc hasta ahora: 20.99% (época 4)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 162.92s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 20.99% (época 4)
================================================================================
Época [4/150] Completada
================================================================================
Train Loss: 2.6625 | Train Acc: 17.41%
Test Loss: 2.5709 | Test Acc: 20.99%
Gap (Overfitting): -3.58%
Mejor Test Acc hasta ahora: 20.99% (época 4)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 162.92s
================================================================================
Epoch [5/150], Step [50/354], Loss: 2.6782, Acc: 17.19%
Epoch [5/150], Step [50/354], Loss: 2.6782, Acc: 17.19%
Epoch [5/150], Step [100/354], Loss: 2.7232, Acc: 17.88%
Epoch [5/150], Step [100/354], Loss: 2.7232, Acc: 17.88%
Epoch [5/150], Step [150/354], Loss: 2.7814, Acc: 18.44%
Epoch [5/150], Step [150/354], Loss: 2.7814, Acc: 18.44%
Epoch [5/150], Step [200/354], Loss: 2.2956, Acc: 18.58%
Epoch [5/150], Step [200/354], Loss: 2.2956, Acc: 18.58%
Epoch [5/150], Step [250/354], Loss: 2.7368, Acc: 19.07%
Epoch [5/150], Step [250/354], Loss: 2.7368, Acc: 19.07%
Epoch [5/150], Step [300/354], Loss: 2.6854, Acc: 19.43%
Epoch [5/150], Step [300/354], Loss: 2.6854, Acc: 19.43%
Epoch [5/150], Step [350/354], Loss: 2.5749, Acc: 19.75%
Epoch [5/150], Step [350/354], Loss: 2.5749, Acc: 19.75%
✓ Nuevo mejor modelo guardado: Test Acc = 22.54% (época 5)
================================================================================
Época [5/150] Completada
================================================================================
Train Loss: 2.5962 | Train Acc: 19.74%
Test Loss: 2.4989 | Test Acc: 22.54%
Gap (Overfitting): -2.81%
Mejor Test Acc hasta ahora: 22.54% (época 5)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 166.80s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 22.54% (época 5)
================================================================================
Época [5/150] Completada
================================================================================
Train Loss: 2.5962 | Train Acc: 19.74%
Test Loss: 2.4989 | Test Acc: 22.54%
Gap (Overfitting): -2.81%
Mejor Test Acc hasta ahora: 22.54% (época 5)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 166.80s
================================================================================
Epoch [6/150], Step [50/354], Loss: 2.5119, Acc: 20.56%
Epoch [6/150], Step [50/354], Loss: 2.5119, Acc: 20.56%
Epoch [6/150], Step [100/354], Loss: 2.4406, Acc: 21.28%
Epoch [6/150], Step [100/354], Loss: 2.4406, Acc: 21.28%
Epoch [6/150], Step [150/354], Loss: 2.4764, Acc: 21.19%
Epoch [6/150], Step [150/354], Loss: 2.4764, Acc: 21.19%
Epoch [6/150], Step [200/354], Loss: 2.3899, Acc: 21.05%
Epoch [6/150], Step [200/354], Loss: 2.3899, Acc: 21.05%
Epoch [6/150], Step [250/354], Loss: 2.6803, Acc: 21.25%
Epoch [6/150], Step [250/354], Loss: 2.6803, Acc: 21.25%
Epoch [6/150], Step [300/354], Loss: 2.5300, Acc: 21.73%
Epoch [6/150], Step [300/354], Loss: 2.5300, Acc: 21.73%
Epoch [6/150], Step [350/354], Loss: 2.2818, Acc: 22.08%
Epoch [6/150], Step [350/354], Loss: 2.2818, Acc: 22.08%
✓ Nuevo mejor modelo guardado: Test Acc = 26.43% (época 6)
================================================================================
Época [6/150] Completada
================================================================================
Train Loss: 2.5437 | Train Acc: 22.10%
Test Loss: 2.4256 | Test Acc: 26.43%
Gap (Overfitting): -4.34%
Mejor Test Acc hasta ahora: 26.43% (época 6)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 166.04s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 26.43% (época 6)
================================================================================
Época [6/150] Completada
================================================================================
Train Loss: 2.5437 | Train Acc: 22.10%
Test Loss: 2.4256 | Test Acc: 26.43%
Gap (Overfitting): -4.34%
Mejor Test Acc hasta ahora: 26.43% (época 6)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 166.04s
================================================================================
Epoch [7/150], Step [50/354], Loss: 2.0520, Acc: 26.38%
Epoch [7/150], Step [50/354], Loss: 2.0520, Acc: 26.38%
Epoch [7/150], Step [100/354], Loss: 2.3675, Acc: 24.50%
Epoch [7/150], Step [100/354], Loss: 2.3675, Acc: 24.50%
Epoch [7/150], Step [150/354], Loss: 2.2859, Acc: 25.21%
Epoch [7/150], Step [150/354], Loss: 2.2859, Acc: 25.21%
Epoch [7/150], Step [200/354], Loss: 2.5716, Acc: 25.41%
Epoch [7/150], Step [200/354], Loss: 2.5716, Acc: 25.41%
Epoch [7/150], Step [250/354], Loss: 2.4591, Acc: 24.90%
Epoch [7/150], Step [250/354], Loss: 2.4591, Acc: 24.90%
Epoch [7/150], Step [300/354], Loss: 2.6203, Acc: 24.82%
Epoch [7/150], Step [300/354], Loss: 2.6203, Acc: 24.82%
Epoch [7/150], Step [350/354], Loss: 2.2211, Acc: 24.34%
Epoch [7/150], Step [350/354], Loss: 2.2211, Acc: 24.34%
================================================================================
Época [7/150] Completada
================================================================================
Train Loss: 2.4720 | Train Acc: 24.38%
Test Loss: 2.4056 | Test Acc: 25.97%
Gap (Overfitting): -1.59%
Mejor Test Acc hasta ahora: 26.43% (época 6)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 166.61s
================================================================================
================================================================================
Época [7/150] Completada
================================================================================
Train Loss: 2.4720 | Train Acc: 24.38%
Test Loss: 2.4056 | Test Acc: 25.97%
Gap (Overfitting): -1.59%
Mejor Test Acc hasta ahora: 26.43% (época 6)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 166.61s
================================================================================
Epoch [8/150], Step [50/354], Loss: 2.3345, Acc: 27.44%
Epoch [8/150], Step [50/354], Loss: 2.3345, Acc: 27.44%
Epoch [8/150], Step [100/354], Loss: 2.3443, Acc: 26.47%
Epoch [8/150], Step [100/354], Loss: 2.3443, Acc: 26.47%
Epoch [8/150], Step [150/354], Loss: 2.4045, Acc: 26.08%
Epoch [8/150], Step [150/354], Loss: 2.4045, Acc: 26.08%
Epoch [8/150], Step [200/354], Loss: 2.4555, Acc: 25.94%
Epoch [8/150], Step [200/354], Loss: 2.4555, Acc: 25.94%
Epoch [8/150], Step [250/354], Loss: 2.2684, Acc: 26.27%
Epoch [8/150], Step [250/354], Loss: 2.2684, Acc: 26.27%
Epoch [8/150], Step [300/354], Loss: 2.7813, Acc: 26.38%
Epoch [8/150], Step [300/354], Loss: 2.7813, Acc: 26.38%
Epoch [8/150], Step [350/354], Loss: 2.1471, Acc: 26.46%
Epoch [8/150], Step [350/354], Loss: 2.1471, Acc: 26.46%
✓ Nuevo mejor modelo guardado: Test Acc = 32.23% (época 8)
================================================================================
Época [8/150] Completada
================================================================================
Train Loss: 2.4137 | Train Acc: 26.43%
Test Loss: 2.2067 | Test Acc: 32.23%
Gap (Overfitting): -5.79%
Mejor Test Acc hasta ahora: 32.23% (época 8)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.11s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 32.23% (época 8)
================================================================================
Época [8/150] Completada
================================================================================
Train Loss: 2.4137 | Train Acc: 26.43%
Test Loss: 2.2067 | Test Acc: 32.23%
Gap (Overfitting): -5.79%
Mejor Test Acc hasta ahora: 32.23% (época 8)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.11s
================================================================================
Epoch [9/150], Step [50/354], Loss: 2.2392, Acc: 26.69%
Epoch [9/150], Step [50/354], Loss: 2.2392, Acc: 26.69%
Epoch [9/150], Step [100/354], Loss: 2.5799, Acc: 27.50%
Epoch [9/150], Step [100/354], Loss: 2.5799, Acc: 27.50%
Epoch [9/150], Step [150/354], Loss: 2.2320, Acc: 27.19%
Epoch [9/150], Step [150/354], Loss: 2.2320, Acc: 27.19%
Epoch [9/150], Step [200/354], Loss: 2.4086, Acc: 27.45%
Epoch [9/150], Step [200/354], Loss: 2.4086, Acc: 27.45%
Epoch [9/150], Step [250/354], Loss: 1.9744, Acc: 27.86%
Epoch [9/150], Step [250/354], Loss: 1.9744, Acc: 27.86%
Epoch [9/150], Step [300/354], Loss: 2.1579, Acc: 27.86%
Epoch [9/150], Step [300/354], Loss: 2.1579, Acc: 27.86%
Epoch [9/150], Step [350/354], Loss: 2.1601, Acc: 27.91%
Epoch [9/150], Step [350/354], Loss: 2.1601, Acc: 27.91%
✓ Nuevo mejor modelo guardado: Test Acc = 33.18% (época 9)
================================================================================
Época [9/150] Completada
================================================================================
Train Loss: 2.3538 | Train Acc: 27.96%
Test Loss: 2.2668 | Test Acc: 33.18%
Gap (Overfitting): -5.22%
Mejor Test Acc hasta ahora: 33.18% (época 9)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.09s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 33.18% (época 9)
================================================================================
Época [9/150] Completada
================================================================================
Train Loss: 2.3538 | Train Acc: 27.96%
Test Loss: 2.2668 | Test Acc: 33.18%
Gap (Overfitting): -5.22%
Mejor Test Acc hasta ahora: 33.18% (época 9)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.09s
================================================================================
Epoch [10/150], Step [50/354], Loss: 2.1794, Acc: 28.88%
Epoch [10/150], Step [50/354], Loss: 2.1794, Acc: 28.88%
Epoch [10/150], Step [100/354], Loss: 2.5193, Acc: 29.12%
Epoch [10/150], Step [100/354], Loss: 2.5193, Acc: 29.12%
Epoch [10/150], Step [150/354], Loss: 2.3382, Acc: 29.88%
Epoch [10/150], Step [150/354], Loss: 2.3382, Acc: 29.88%
Epoch [10/150], Step [200/354], Loss: 1.9336, Acc: 29.89%
Epoch [10/150], Step [200/354], Loss: 1.9336, Acc: 29.89%
Epoch [10/150], Step [250/354], Loss: 2.4559, Acc: 29.96%
Epoch [10/150], Step [250/354], Loss: 2.4559, Acc: 29.96%
Epoch [10/150], Step [300/354], Loss: 2.3300, Acc: 29.69%
Epoch [10/150], Step [300/354], Loss: 2.3300, Acc: 29.69%
Epoch [10/150], Step [350/354], Loss: 2.2124, Acc: 29.62%
Epoch [10/150], Step [350/354], Loss: 2.2124, Acc: 29.62%
✓ Nuevo mejor modelo guardado: Test Acc = 38.37% (época 10)
================================================================================
Época [10/150] Completada
================================================================================
Train Loss: 2.2993 | Train Acc: 29.64%
Test Loss: 2.0770 | Test Acc: 38.37%
Gap (Overfitting): -8.73%
Mejor Test Acc hasta ahora: 38.37% (época 10)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 162.65s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 38.37% (época 10)
================================================================================
Época [10/150] Completada
================================================================================
Train Loss: 2.2993 | Train Acc: 29.64%
Test Loss: 2.0770 | Test Acc: 38.37%
Gap (Overfitting): -8.73%
Mejor Test Acc hasta ahora: 38.37% (época 10)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 162.65s
================================================================================
Epoch [11/150], Step [50/354], Loss: 2.2064, Acc: 31.50%
Epoch [11/150], Step [50/354], Loss: 2.2064, Acc: 31.50%
Epoch [11/150], Step [100/354], Loss: 2.3772, Acc: 31.50%
Epoch [11/150], Step [100/354], Loss: 2.3772, Acc: 31.50%
Epoch [11/150], Step [150/354], Loss: 1.9354, Acc: 30.85%
Epoch [11/150], Step [150/354], Loss: 1.9354, Acc: 30.85%
Epoch [11/150], Step [200/354], Loss: 2.0468, Acc: 31.47%
Epoch [11/150], Step [200/354], Loss: 2.0468, Acc: 31.47%
Epoch [11/150], Step [250/354], Loss: 1.9988, Acc: 31.84%
Epoch [11/150], Step [250/354], Loss: 1.9988, Acc: 31.84%
Epoch [11/150], Step [300/354], Loss: 2.0344, Acc: 31.90%
Epoch [11/150], Step [300/354], Loss: 2.0344, Acc: 31.90%
Epoch [11/150], Step [350/354], Loss: 2.6074, Acc: 31.91%
Epoch [11/150], Step [350/354], Loss: 2.6074, Acc: 31.91%
================================================================================
Época [11/150] Completada
================================================================================
Train Loss: 2.2476 | Train Acc: 31.97%
Test Loss: 2.1489 | Test Acc: 35.05%
Gap (Overfitting): -3.08%
Mejor Test Acc hasta ahora: 38.37% (época 10)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 161.49s
================================================================================
================================================================================
Época [11/150] Completada
================================================================================
Train Loss: 2.2476 | Train Acc: 31.97%
Test Loss: 2.1489 | Test Acc: 35.05%
Gap (Overfitting): -3.08%
Mejor Test Acc hasta ahora: 38.37% (época 10)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 161.49s
================================================================================
Epoch [12/150], Step [50/354], Loss: 2.4581, Acc: 31.62%
Epoch [12/150], Step [50/354], Loss: 2.4581, Acc: 31.62%
Epoch [12/150], Step [100/354], Loss: 1.7789, Acc: 32.44%
Epoch [12/150], Step [100/354], Loss: 1.7789, Acc: 32.44%
Epoch [12/150], Step [150/354], Loss: 2.1697, Acc: 33.58%
Epoch [12/150], Step [150/354], Loss: 2.1697, Acc: 33.58%
Epoch [12/150], Step [200/354], Loss: 2.4291, Acc: 33.73%
Epoch [12/150], Step [200/354], Loss: 2.4291, Acc: 33.73%
Epoch [12/150], Step [250/354], Loss: 1.8540, Acc: 34.10%
Epoch [12/150], Step [250/354], Loss: 1.8540, Acc: 34.10%
Epoch [12/150], Step [300/354], Loss: 2.0854, Acc: 33.79%
Epoch [12/150], Step [300/354], Loss: 2.0854, Acc: 33.79%
Epoch [12/150], Step [350/354], Loss: 2.1221, Acc: 33.71%
Epoch [12/150], Step [350/354], Loss: 2.1221, Acc: 33.71%
✓ Nuevo mejor modelo guardado: Test Acc = 41.38% (época 12)
================================================================================
Época [12/150] Completada
================================================================================
Train Loss: 2.2050 | Train Acc: 33.72%
Test Loss: 1.9708 | Test Acc: 41.38%
Gap (Overfitting): -7.66%
Mejor Test Acc hasta ahora: 41.38% (época 12)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.02s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 41.38% (época 12)
================================================================================
Época [12/150] Completada
================================================================================
Train Loss: 2.2050 | Train Acc: 33.72%
Test Loss: 1.9708 | Test Acc: 41.38%
Gap (Overfitting): -7.66%
Mejor Test Acc hasta ahora: 41.38% (época 12)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.02s
================================================================================
Epoch [13/150], Step [50/354], Loss: 2.3862, Acc: 34.12%
Epoch [13/150], Step [50/354], Loss: 2.3862, Acc: 34.12%
Epoch [13/150], Step [100/354], Loss: 2.1476, Acc: 33.44%
Epoch [13/150], Step [100/354], Loss: 2.1476, Acc: 33.44%
Epoch [13/150], Step [150/354], Loss: 2.2561, Acc: 34.77%
Epoch [13/150], Step [150/354], Loss: 2.2561, Acc: 34.77%
Epoch [13/150], Step [200/354], Loss: 2.1870, Acc: 35.05%
Epoch [13/150], Step [200/354], Loss: 2.1870, Acc: 35.05%
Epoch [13/150], Step [250/354], Loss: 2.0924, Acc: 35.21%
Epoch [13/150], Step [250/354], Loss: 2.0924, Acc: 35.21%
Epoch [13/150], Step [300/354], Loss: 2.1290, Acc: 35.16%
Epoch [13/150], Step [300/354], Loss: 2.1290, Acc: 35.16%
Epoch [13/150], Step [350/354], Loss: 2.3938, Acc: 34.97%
Epoch [13/150], Step [350/354], Loss: 2.3938, Acc: 34.97%
✓ Nuevo mejor modelo guardado: Test Acc = 42.16% (época 13)
================================================================================
Época [13/150] Completada
================================================================================
Train Loss: 2.1606 | Train Acc: 35.01%
Test Loss: 1.9100 | Test Acc: 42.16%
Gap (Overfitting): -7.14%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.06s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 42.16% (época 13)
================================================================================
Época [13/150] Completada
================================================================================
Train Loss: 2.1606 | Train Acc: 35.01%
Test Loss: 1.9100 | Test Acc: 42.16%
Gap (Overfitting): -7.14%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.06s
================================================================================
Epoch [14/150], Step [50/354], Loss: 2.2824, Acc: 34.81%
Epoch [14/150], Step [50/354], Loss: 2.2824, Acc: 34.81%
Epoch [14/150], Step [100/354], Loss: 2.5152, Acc: 35.00%
Epoch [14/150], Step [100/354], Loss: 2.5152, Acc: 35.00%
Epoch [14/150], Step [150/354], Loss: 1.9544, Acc: 35.12%
Epoch [14/150], Step [150/354], Loss: 1.9544, Acc: 35.12%
Epoch [14/150], Step [200/354], Loss: 2.1840, Acc: 35.42%
Epoch [14/150], Step [200/354], Loss: 2.1840, Acc: 35.42%
Epoch [14/150], Step [250/354], Loss: 1.9914, Acc: 35.59%
Epoch [14/150], Step [250/354], Loss: 1.9914, Acc: 35.59%
Epoch [14/150], Step [300/354], Loss: 1.9922, Acc: 35.69%
Epoch [14/150], Step [300/354], Loss: 1.9922, Acc: 35.69%
Epoch [14/150], Step [350/354], Loss: 2.1603, Acc: 35.82%
Epoch [14/150], Step [350/354], Loss: 2.1603, Acc: 35.82%
================================================================================
Época [14/150] Completada
================================================================================
Train Loss: 2.1171 | Train Acc: 35.77%
Test Loss: 1.9962 | Test Acc: 40.46%
Gap (Overfitting): -4.69%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 165.40s
================================================================================
================================================================================
Época [14/150] Completada
================================================================================
Train Loss: 2.1171 | Train Acc: 35.77%
Test Loss: 1.9962 | Test Acc: 40.46%
Gap (Overfitting): -4.69%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 165.40s
================================================================================
Epoch [15/150], Step [50/354], Loss: 1.9014, Acc: 36.81%
Epoch [15/150], Step [50/354], Loss: 1.9014, Acc: 36.81%
Epoch [15/150], Step [100/354], Loss: 2.2301, Acc: 37.72%
Epoch [15/150], Step [100/354], Loss: 2.2301, Acc: 37.72%
Epoch [15/150], Step [150/354], Loss: 2.4134, Acc: 37.48%
Epoch [15/150], Step [150/354], Loss: 2.4134, Acc: 37.48%
Epoch [15/150], Step [200/354], Loss: 1.6211, Acc: 37.42%
Epoch [15/150], Step [200/354], Loss: 1.6211, Acc: 37.42%
Epoch [15/150], Step [250/354], Loss: 2.2538, Acc: 37.15%
Epoch [15/150], Step [250/354], Loss: 2.2538, Acc: 37.15%
Epoch [15/150], Step [300/354], Loss: 2.1120, Acc: 37.15%
Epoch [15/150], Step [300/354], Loss: 2.1120, Acc: 37.15%
Epoch [15/150], Step [350/354], Loss: 2.0685, Acc: 37.10%
Epoch [15/150], Step [350/354], Loss: 2.0685, Acc: 37.10%
================================================================================
Época [15/150] Completada
================================================================================
Train Loss: 2.0756 | Train Acc: 37.09%
Test Loss: 1.9282 | Test Acc: 42.12%
Gap (Overfitting): -5.03%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.86s
================================================================================
================================================================================
Época [15/150] Completada
================================================================================
Train Loss: 2.0756 | Train Acc: 37.09%
Test Loss: 1.9282 | Test Acc: 42.12%
Gap (Overfitting): -5.03%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.86s
================================================================================
Epoch [16/150], Step [50/354], Loss: 1.6515, Acc: 37.94%
Epoch [16/150], Step [50/354], Loss: 1.6515, Acc: 37.94%
Epoch [16/150], Step [100/354], Loss: 2.2565, Acc: 38.81%
Epoch [16/150], Step [100/354], Loss: 2.2565, Acc: 38.81%
Epoch [16/150], Step [150/354], Loss: 1.7101, Acc: 37.44%
Epoch [16/150], Step [150/354], Loss: 1.7101, Acc: 37.44%
Epoch [16/150], Step [200/354], Loss: 1.7255, Acc: 37.25%
Epoch [16/150], Step [200/354], Loss: 1.7255, Acc: 37.25%
Epoch [16/150], Step [250/354], Loss: 1.8380, Acc: 38.09%
Epoch [16/150], Step [250/354], Loss: 1.8380, Acc: 38.09%
Epoch [16/150], Step [300/354], Loss: 2.2806, Acc: 37.86%
Epoch [16/150], Step [300/354], Loss: 2.2806, Acc: 37.86%
Epoch [16/150], Step [350/354], Loss: 2.3613, Acc: 37.96%
Epoch [16/150], Step [350/354], Loss: 2.3613, Acc: 37.96%
================================================================================
Época [16/150] Completada
================================================================================
Train Loss: 2.0482 | Train Acc: 38.02%
Test Loss: 1.9493 | Test Acc: 41.77%
Gap (Overfitting): -3.74%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 174.61s
================================================================================
================================================================================
Época [16/150] Completada
================================================================================
Train Loss: 2.0482 | Train Acc: 38.02%
Test Loss: 1.9493 | Test Acc: 41.77%
Gap (Overfitting): -3.74%
Mejor Test Acc hasta ahora: 42.16% (época 13)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 174.61s
================================================================================
Epoch [17/150], Step [50/354], Loss: 2.0187, Acc: 36.81%
Epoch [17/150], Step [50/354], Loss: 2.0187, Acc: 36.81%
Epoch [17/150], Step [100/354], Loss: 1.9028, Acc: 37.84%
Epoch [17/150], Step [100/354], Loss: 1.9028, Acc: 37.84%
Epoch [17/150], Step [150/354], Loss: 1.9461, Acc: 38.15%
Epoch [17/150], Step [150/354], Loss: 1.9461, Acc: 38.15%
Epoch [17/150], Step [200/354], Loss: 1.8225, Acc: 38.50%
Epoch [17/150], Step [200/354], Loss: 1.8225, Acc: 38.50%
Epoch [17/150], Step [250/354], Loss: 1.7852, Acc: 39.11%
Epoch [17/150], Step [250/354], Loss: 1.7852, Acc: 39.11%
Epoch [17/150], Step [300/354], Loss: 1.6176, Acc: 39.03%
Epoch [17/150], Step [300/354], Loss: 1.6176, Acc: 39.03%
Epoch [17/150], Step [350/354], Loss: 2.6208, Acc: 38.79%
Epoch [17/150], Step [350/354], Loss: 2.6208, Acc: 38.79%
✓ Nuevo mejor modelo guardado: Test Acc = 44.17% (época 17)
================================================================================
Época [17/150] Completada
================================================================================
Train Loss: 2.0264 | Train Acc: 38.68%
Test Loss: 1.8358 | Test Acc: 44.17%
Gap (Overfitting): -5.49%
Mejor Test Acc hasta ahora: 44.17% (época 17)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.18s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 44.17% (época 17)
================================================================================
Época [17/150] Completada
================================================================================
Train Loss: 2.0264 | Train Acc: 38.68%
Test Loss: 1.8358 | Test Acc: 44.17%
Gap (Overfitting): -5.49%
Mejor Test Acc hasta ahora: 44.17% (época 17)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 163.18s
================================================================================
Epoch [18/150], Step [50/354], Loss: 2.1736, Acc: 40.12%
Epoch [18/150], Step [50/354], Loss: 2.1736, Acc: 40.12%
Epoch [18/150], Step [100/354], Loss: 1.9028, Acc: 38.72%
Epoch [18/150], Step [100/354], Loss: 1.9028, Acc: 38.72%
Epoch [18/150], Step [150/354], Loss: 2.4080, Acc: 39.17%
Epoch [18/150], Step [150/354], Loss: 2.4080, Acc: 39.17%
Epoch [18/150], Step [200/354], Loss: 1.6190, Acc: 39.34%
Epoch [18/150], Step [200/354], Loss: 1.6190, Acc: 39.34%
Epoch [18/150], Step [250/354], Loss: 1.8936, Acc: 39.29%
Epoch [18/150], Step [250/354], Loss: 1.8936, Acc: 39.29%
Epoch [18/150], Step [300/354], Loss: 1.8995, Acc: 39.21%
Epoch [18/150], Step [300/354], Loss: 1.8995, Acc: 39.21%
Epoch [18/150], Step [350/354], Loss: 2.3057, Acc: 39.31%
Epoch [18/150], Step [350/354], Loss: 2.3057, Acc: 39.31%
✓ Nuevo mejor modelo guardado: Test Acc = 45.12% (época 18)
================================================================================
Época [18/150] Completada
================================================================================
Train Loss: 1.9979 | Train Acc: 39.41%
Test Loss: 1.7718 | Test Acc: 45.12%
Gap (Overfitting): -5.71%
Mejor Test Acc hasta ahora: 45.12% (época 18)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 173.71s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 45.12% (época 18)
================================================================================
Época [18/150] Completada
================================================================================
Train Loss: 1.9979 | Train Acc: 39.41%
Test Loss: 1.7718 | Test Acc: 45.12%
Gap (Overfitting): -5.71%
Mejor Test Acc hasta ahora: 45.12% (época 18)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 173.71s
================================================================================
Epoch [19/150], Step [50/354], Loss: 1.5215, Acc: 38.50%
Epoch [19/150], Step [50/354], Loss: 1.5215, Acc: 38.50%
Epoch [19/150], Step [100/354], Loss: 1.6587, Acc: 40.22%
Epoch [19/150], Step [100/354], Loss: 1.6587, Acc: 40.22%
Epoch [19/150], Step [150/354], Loss: 1.6782, Acc: 40.08%
Epoch [19/150], Step [150/354], Loss: 1.6782, Acc: 40.08%
Epoch [19/150], Step [200/354], Loss: 1.7480, Acc: 39.47%
Epoch [19/150], Step [200/354], Loss: 1.7480, Acc: 39.47%
Epoch [19/150], Step [250/354], Loss: 2.0910, Acc: 39.58%
Epoch [19/150], Step [250/354], Loss: 2.0910, Acc: 39.58%
Epoch [19/150], Step [300/354], Loss: 2.1902, Acc: 40.01%
Epoch [19/150], Step [300/354], Loss: 2.1902, Acc: 40.01%
Epoch [19/150], Step [350/354], Loss: 1.9895, Acc: 40.25%
Epoch [19/150], Step [350/354], Loss: 1.9895, Acc: 40.25%
✓ Nuevo mejor modelo guardado: Test Acc = 45.41% (época 19)
================================================================================
Época [19/150] Completada
================================================================================
Train Loss: 1.9746 | Train Acc: 40.23%
Test Loss: 1.8158 | Test Acc: 45.41%
Gap (Overfitting): -5.17%
Mejor Test Acc hasta ahora: 45.41% (época 19)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 200.13s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 45.41% (época 19)
================================================================================
Época [19/150] Completada
================================================================================
Train Loss: 1.9746 | Train Acc: 40.23%
Test Loss: 1.8158 | Test Acc: 45.41%
Gap (Overfitting): -5.17%
Mejor Test Acc hasta ahora: 45.41% (época 19)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 200.13s
================================================================================
Epoch [20/150], Step [50/354], Loss: 1.8821, Acc: 41.62%
Epoch [20/150], Step [50/354], Loss: 1.8821, Acc: 41.62%
Epoch [20/150], Step [100/354], Loss: 1.4340, Acc: 40.69%
Epoch [20/150], Step [100/354], Loss: 1.4340, Acc: 40.69%
Epoch [20/150], Step [150/354], Loss: 1.8934, Acc: 40.19%
Epoch [20/150], Step [150/354], Loss: 1.8934, Acc: 40.19%
Epoch [20/150], Step [200/354], Loss: 1.4879, Acc: 40.39%
Epoch [20/150], Step [200/354], Loss: 1.4879, Acc: 40.39%
Epoch [20/150], Step [250/354], Loss: 1.8296, Acc: 40.16%
Epoch [20/150], Step [250/354], Loss: 1.8296, Acc: 40.16%
Epoch [20/150], Step [300/354], Loss: 2.0625, Acc: 40.10%
Epoch [20/150], Step [300/354], Loss: 2.0625, Acc: 40.10%
Epoch [20/150], Step [350/354], Loss: 2.2157, Acc: 40.49%
Epoch [20/150], Step [350/354], Loss: 2.2157, Acc: 40.49%
✓ Nuevo mejor modelo guardado: Test Acc = 46.75% (época 20)
================================================================================
Época [20/150] Completada
================================================================================
Train Loss: 1.9548 | Train Acc: 40.46%
Test Loss: 1.8039 | Test Acc: 46.75%
Gap (Overfitting): -6.29%
Mejor Test Acc hasta ahora: 46.75% (época 20)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 199.68s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 46.75% (época 20)
================================================================================
Época [20/150] Completada
================================================================================
Train Loss: 1.9548 | Train Acc: 40.46%
Test Loss: 1.8039 | Test Acc: 46.75%
Gap (Overfitting): -6.29%
Mejor Test Acc hasta ahora: 46.75% (época 20)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 199.68s
================================================================================
Epoch [21/150], Step [50/354], Loss: 2.0195, Acc: 43.25%
Epoch [21/150], Step [50/354], Loss: 2.0195, Acc: 43.25%
Epoch [21/150], Step [100/354], Loss: 1.5007, Acc: 42.53%
Epoch [21/150], Step [100/354], Loss: 1.5007, Acc: 42.53%
Epoch [21/150], Step [150/354], Loss: 1.6994, Acc: 42.29%
Epoch [21/150], Step [150/354], Loss: 1.6994, Acc: 42.29%
Epoch [21/150], Step [200/354], Loss: 2.0727, Acc: 41.48%
Epoch [21/150], Step [200/354], Loss: 2.0727, Acc: 41.48%
Epoch [21/150], Step [250/354], Loss: 1.6657, Acc: 41.59%
Epoch [21/150], Step [250/354], Loss: 1.6657, Acc: 41.59%
Epoch [21/150], Step [300/354], Loss: 1.9476, Acc: 41.49%
Epoch [21/150], Step [300/354], Loss: 1.9476, Acc: 41.49%
Epoch [21/150], Step [350/354], Loss: 1.8767, Acc: 41.88%
Epoch [21/150], Step [350/354], Loss: 1.8767, Acc: 41.88%
================================================================================
Época [21/150] Completada
================================================================================
Train Loss: 1.9290 | Train Acc: 41.92%
Test Loss: 1.8036 | Test Acc: 46.75%
Gap (Overfitting): -4.83%
Mejor Test Acc hasta ahora: 46.75% (época 20)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 174.62s
================================================================================
================================================================================
Época [21/150] Completada
================================================================================
Train Loss: 1.9290 | Train Acc: 41.92%
Test Loss: 1.8036 | Test Acc: 46.75%
Gap (Overfitting): -4.83%
Mejor Test Acc hasta ahora: 46.75% (época 20)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 174.62s
================================================================================
Epoch [22/150], Step [50/354], Loss: 1.9486, Acc: 42.12%
Epoch [22/150], Step [50/354], Loss: 1.9486, Acc: 42.12%
Epoch [22/150], Step [100/354], Loss: 1.2056, Acc: 42.69%
Epoch [22/150], Step [100/354], Loss: 1.2056, Acc: 42.69%
Epoch [22/150], Step [150/354], Loss: 2.2108, Acc: 42.25%
Epoch [22/150], Step [150/354], Loss: 2.2108, Acc: 42.25%
Epoch [22/150], Step [200/354], Loss: 2.0800, Acc: 43.12%
Epoch [22/150], Step [200/354], Loss: 2.0800, Acc: 43.12%
Epoch [22/150], Step [250/354], Loss: 2.0053, Acc: 43.01%
Epoch [22/150], Step [250/354], Loss: 2.0053, Acc: 43.01%
Epoch [22/150], Step [300/354], Loss: 1.8634, Acc: 42.77%
Epoch [22/150], Step [300/354], Loss: 1.8634, Acc: 42.77%
Epoch [22/150], Step [350/354], Loss: 2.2329, Acc: 42.65%
Epoch [22/150], Step [350/354], Loss: 2.2329, Acc: 42.65%
✓ Nuevo mejor modelo guardado: Test Acc = 47.60% (época 22)
================================================================================
Época [22/150] Completada
================================================================================
Train Loss: 1.9021 | Train Acc: 42.67%
Test Loss: 1.7002 | Test Acc: 47.60%
Gap (Overfitting): -4.93%
Mejor Test Acc hasta ahora: 47.60% (época 22)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 162.37s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 47.60% (época 22)
================================================================================
Época [22/150] Completada
================================================================================
Train Loss: 1.9021 | Train Acc: 42.67%
Test Loss: 1.7002 | Test Acc: 47.60%
Gap (Overfitting): -4.93%
Mejor Test Acc hasta ahora: 47.60% (época 22)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 162.37s
================================================================================
Epoch [23/150], Step [50/354], Loss: 1.9285, Acc: 41.00%
Epoch [23/150], Step [50/354], Loss: 1.9285, Acc: 41.00%
Epoch [23/150], Step [100/354], Loss: 1.7341, Acc: 42.19%
Epoch [23/150], Step [100/354], Loss: 1.7341, Acc: 42.19%
Epoch [23/150], Step [150/354], Loss: 1.6343, Acc: 41.85%
Epoch [23/150], Step [150/354], Loss: 1.6343, Acc: 41.85%
Epoch [23/150], Step [200/354], Loss: 1.9893, Acc: 42.39%
Epoch [23/150], Step [200/354], Loss: 1.9893, Acc: 42.39%
Epoch [23/150], Step [250/354], Loss: 2.0134, Acc: 42.40%
Epoch [23/150], Step [250/354], Loss: 2.0134, Acc: 42.40%
Epoch [23/150], Step [300/354], Loss: 2.1006, Acc: 42.74%
Epoch [23/150], Step [300/354], Loss: 2.1006, Acc: 42.74%
Epoch [23/150], Step [350/354], Loss: 1.7786, Acc: 42.58%
Epoch [23/150], Step [350/354], Loss: 1.7786, Acc: 42.58%
================================================================================
Época [23/150] Completada
================================================================================
Train Loss: 1.8966 | Train Acc: 42.65%
Test Loss: 1.7995 | Test Acc: 46.18%
Gap (Overfitting): -3.54%
Mejor Test Acc hasta ahora: 47.60% (época 22)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.96s
================================================================================
================================================================================
Época [23/150] Completada
================================================================================
Train Loss: 1.8966 | Train Acc: 42.65%
Test Loss: 1.7995 | Test Acc: 46.18%
Gap (Overfitting): -3.54%
Mejor Test Acc hasta ahora: 47.60% (época 22)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.96s
================================================================================
Epoch [24/150], Step [50/354], Loss: 1.5563, Acc: 45.81%
Epoch [24/150], Step [50/354], Loss: 1.5563, Acc: 45.81%
Epoch [24/150], Step [100/354], Loss: 1.8486, Acc: 44.78%
Epoch [24/150], Step [100/354], Loss: 1.8486, Acc: 44.78%
Epoch [24/150], Step [150/354], Loss: 1.8392, Acc: 43.73%
Epoch [24/150], Step [150/354], Loss: 1.8392, Acc: 43.73%
Epoch [24/150], Step [200/354], Loss: 1.8798, Acc: 43.33%
Epoch [24/150], Step [200/354], Loss: 1.8798, Acc: 43.33%
Epoch [24/150], Step [250/354], Loss: 1.6823, Acc: 43.41%
Epoch [24/150], Step [250/354], Loss: 1.6823, Acc: 43.41%
Epoch [24/150], Step [300/354], Loss: 1.9548, Acc: 43.53%
Epoch [24/150], Step [300/354], Loss: 1.9548, Acc: 43.53%
Epoch [24/150], Step [350/354], Loss: 2.0198, Acc: 43.57%
Epoch [24/150], Step [350/354], Loss: 2.0198, Acc: 43.57%
✓ Nuevo mejor modelo guardado: Test Acc = 48.69% (época 24)
================================================================================
Época [24/150] Completada
================================================================================
Train Loss: 1.8666 | Train Acc: 43.58%
Test Loss: 1.7083 | Test Acc: 48.69%
Gap (Overfitting): -5.11%
Mejor Test Acc hasta ahora: 48.69% (época 24)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.77s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 48.69% (época 24)
================================================================================
Época [24/150] Completada
================================================================================
Train Loss: 1.8666 | Train Acc: 43.58%
Test Loss: 1.7083 | Test Acc: 48.69%
Gap (Overfitting): -5.11%
Mejor Test Acc hasta ahora: 48.69% (época 24)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.77s
================================================================================
Epoch [25/150], Step [50/354], Loss: 2.2500, Acc: 42.62%
Epoch [25/150], Step [50/354], Loss: 2.2500, Acc: 42.62%
Epoch [25/150], Step [100/354], Loss: 1.6945, Acc: 42.84%
Epoch [25/150], Step [100/354], Loss: 1.6945, Acc: 42.84%
Epoch [25/150], Step [150/354], Loss: 2.3656, Acc: 42.90%
Epoch [25/150], Step [150/354], Loss: 2.3656, Acc: 42.90%
Epoch [25/150], Step [200/354], Loss: 1.9474, Acc: 42.62%
Epoch [25/150], Step [200/354], Loss: 1.9474, Acc: 42.62%
Epoch [25/150], Step [250/354], Loss: 1.5047, Acc: 43.38%
Epoch [25/150], Step [250/354], Loss: 1.5047, Acc: 43.38%
Epoch [25/150], Step [300/354], Loss: 1.6567, Acc: 43.74%
Epoch [25/150], Step [300/354], Loss: 1.6567, Acc: 43.74%
Epoch [25/150], Step [350/354], Loss: 1.6483, Acc: 44.03%
Epoch [25/150], Step [350/354], Loss: 1.6483, Acc: 44.03%
✓ Nuevo mejor modelo guardado: Test Acc = 51.27% (época 25)
================================================================================
Época [25/150] Completada
================================================================================
Train Loss: 1.8397 | Train Acc: 44.00%
Test Loss: 1.6505 | Test Acc: 51.27%
Gap (Overfitting): -7.28%
Mejor Test Acc hasta ahora: 51.27% (época 25)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.55s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 51.27% (época 25)
================================================================================
Época [25/150] Completada
================================================================================
Train Loss: 1.8397 | Train Acc: 44.00%
Test Loss: 1.6505 | Test Acc: 51.27%
Gap (Overfitting): -7.28%
Mejor Test Acc hasta ahora: 51.27% (época 25)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 169.55s
================================================================================
Epoch [26/150], Step [50/354], Loss: 1.5043, Acc: 43.31%
Epoch [26/150], Step [50/354], Loss: 1.5043, Acc: 43.31%
Epoch [26/150], Step [100/354], Loss: 1.8769, Acc: 43.34%
Epoch [26/150], Step [100/354], Loss: 1.8769, Acc: 43.34%
Epoch [26/150], Step [150/354], Loss: 1.4247, Acc: 43.75%
Epoch [26/150], Step [150/354], Loss: 1.4247, Acc: 43.75%
Epoch [26/150], Step [200/354], Loss: 1.9267, Acc: 43.81%
Epoch [26/150], Step [200/354], Loss: 1.9267, Acc: 43.81%
Epoch [26/150], Step [250/354], Loss: 1.9804, Acc: 44.46%
Epoch [26/150], Step [250/354], Loss: 1.9804, Acc: 44.46%
Epoch [26/150], Step [300/354], Loss: 1.9152, Acc: 44.70%
Epoch [26/150], Step [300/354], Loss: 1.9152, Acc: 44.70%
Epoch [26/150], Step [350/354], Loss: 2.0408, Acc: 44.64%
Epoch [26/150], Step [350/354], Loss: 2.0408, Acc: 44.64%
================================================================================
Época [26/150] Completada
================================================================================
Train Loss: 1.8347 | Train Acc: 44.62%
Test Loss: 1.7016 | Test Acc: 49.75%
Gap (Overfitting): -5.14%
Mejor Test Acc hasta ahora: 51.27% (época 25)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 170.61s
================================================================================
================================================================================
Época [26/150] Completada
================================================================================
Train Loss: 1.8347 | Train Acc: 44.62%
Test Loss: 1.7016 | Test Acc: 49.75%
Gap (Overfitting): -5.14%
Mejor Test Acc hasta ahora: 51.27% (época 25)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 170.61s
================================================================================
Epoch [27/150], Step [50/354], Loss: 1.7757, Acc: 47.69%
Epoch [27/150], Step [50/354], Loss: 1.7757, Acc: 47.69%
Epoch [27/150], Step [100/354], Loss: 2.3463, Acc: 46.84%
Epoch [27/150], Step [100/354], Loss: 2.3463, Acc: 46.84%
Epoch [27/150], Step [150/354], Loss: 2.0909, Acc: 45.52%
Epoch [27/150], Step [150/354], Loss: 2.0909, Acc: 45.52%
Epoch [27/150], Step [200/354], Loss: 2.0766, Acc: 45.23%
Epoch [27/150], Step [200/354], Loss: 2.0766, Acc: 45.23%
Epoch [27/150], Step [250/354], Loss: 1.8376, Acc: 45.23%
Epoch [27/150], Step [250/354], Loss: 1.8376, Acc: 45.23%
Epoch [27/150], Step [300/354], Loss: 1.6593, Acc: 44.89%
Epoch [27/150], Step [300/354], Loss: 1.6593, Acc: 44.89%
Epoch [27/150], Step [350/354], Loss: 2.0496, Acc: 44.62%
Epoch [27/150], Step [350/354], Loss: 2.0496, Acc: 44.62%
================================================================================
Época [27/150] Completada
================================================================================
Train Loss: 1.8220 | Train Acc: 44.62%
Test Loss: 1.6986 | Test Acc: 49.61%
Gap (Overfitting): -4.99%
Mejor Test Acc hasta ahora: 51.27% (época 25)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 164.29s
================================================================================
================================================================================
Época [27/150] Completada
================================================================================
Train Loss: 1.8220 | Train Acc: 44.62%
Test Loss: 1.6986 | Test Acc: 49.61%
Gap (Overfitting): -4.99%
Mejor Test Acc hasta ahora: 51.27% (época 25)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 164.29s
================================================================================
Epoch [28/150], Step [50/354], Loss: 2.1689, Acc: 46.56%
Epoch [28/150], Step [50/354], Loss: 2.1689, Acc: 46.56%
Epoch [28/150], Step [100/354], Loss: 1.4561, Acc: 45.84%
Epoch [28/150], Step [100/354], Loss: 1.4561, Acc: 45.84%
Epoch [28/150], Step [150/354], Loss: 1.5359, Acc: 45.69%
Epoch [28/150], Step [150/354], Loss: 1.5359, Acc: 45.69%
Epoch [28/150], Step [200/354], Loss: 1.8218, Acc: 45.80%
Epoch [28/150], Step [200/354], Loss: 1.8218, Acc: 45.80%
Epoch [28/150], Step [250/354], Loss: 1.9633, Acc: 46.33%
Epoch [28/150], Step [250/354], Loss: 1.9633, Acc: 46.33%
Epoch [28/150], Step [300/354], Loss: 1.8303, Acc: 46.20%
Epoch [28/150], Step [300/354], Loss: 1.8303, Acc: 46.20%
Epoch [28/150], Step [350/354], Loss: 1.5749, Acc: 45.78%
Epoch [28/150], Step [350/354], Loss: 1.5749, Acc: 45.78%
✓ Nuevo mejor modelo guardado: Test Acc = 51.63% (época 28)
================================================================================
Época [28/150] Completada
================================================================================
Train Loss: 1.7910 | Train Acc: 45.80%
Test Loss: 1.6487 | Test Acc: 51.63%
Gap (Overfitting): -5.83%
Mejor Test Acc hasta ahora: 51.63% (época 28)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 160.59s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 51.63% (época 28)
================================================================================
Época [28/150] Completada
================================================================================
Train Loss: 1.7910 | Train Acc: 45.80%
Test Loss: 1.6487 | Test Acc: 51.63%
Gap (Overfitting): -5.83%
Mejor Test Acc hasta ahora: 51.63% (época 28)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 160.59s
================================================================================
Epoch [29/150], Step [50/354], Loss: 1.7469, Acc: 43.88%
Epoch [29/150], Step [50/354], Loss: 1.7469, Acc: 43.88%
Epoch [29/150], Step [100/354], Loss: 1.7196, Acc: 43.78%
Epoch [29/150], Step [100/354], Loss: 1.7196, Acc: 43.78%
Epoch [29/150], Step [150/354], Loss: 2.0780, Acc: 44.46%
Epoch [29/150], Step [150/354], Loss: 2.0780, Acc: 44.46%
Epoch [29/150], Step [200/354], Loss: 1.5119, Acc: 44.98%
Epoch [29/150], Step [200/354], Loss: 1.5119, Acc: 44.98%
Epoch [29/150], Step [250/354], Loss: 1.3938, Acc: 45.01%
Epoch [29/150], Step [250/354], Loss: 1.3938, Acc: 45.01%
Epoch [29/150], Step [300/354], Loss: 1.7449, Acc: 45.32%
Epoch [29/150], Step [300/354], Loss: 1.7449, Acc: 45.32%
Epoch [29/150], Step [350/354], Loss: 1.7866, Acc: 45.47%
Epoch [29/150], Step [350/354], Loss: 1.7866, Acc: 45.47%
================================================================================
Época [29/150] Completada
================================================================================
Train Loss: 1.8036 | Train Acc: 45.37%
Test Loss: 1.7255 | Test Acc: 48.66%
Gap (Overfitting): -3.29%
Mejor Test Acc hasta ahora: 51.63% (época 28)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 255.19s
================================================================================
================================================================================
Época [29/150] Completada
================================================================================
Train Loss: 1.8036 | Train Acc: 45.37%
Test Loss: 1.7255 | Test Acc: 48.66%
Gap (Overfitting): -3.29%
Mejor Test Acc hasta ahora: 51.63% (época 28)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 255.19s
================================================================================
Epoch [30/150], Step [50/354], Loss: 1.6619, Acc: 48.31%
Epoch [30/150], Step [50/354], Loss: 1.6619, Acc: 48.31%
Epoch [30/150], Step [100/354], Loss: 1.9805, Acc: 47.38%
Epoch [30/150], Step [100/354], Loss: 1.9805, Acc: 47.38%
Epoch [30/150], Step [150/354], Loss: 2.0169, Acc: 47.58%
Epoch [30/150], Step [150/354], Loss: 2.0169, Acc: 47.58%
Epoch [30/150], Step [200/354], Loss: 1.5260, Acc: 47.47%
Epoch [30/150], Step [200/354], Loss: 1.5260, Acc: 47.47%
Epoch [30/150], Step [250/354], Loss: 1.5844, Acc: 47.25%
Epoch [30/150], Step [250/354], Loss: 1.5844, Acc: 47.25%
Epoch [30/150], Step [300/354], Loss: 1.6552, Acc: 47.30%
Epoch [30/150], Step [300/354], Loss: 1.6552, Acc: 47.30%
Epoch [30/150], Step [350/354], Loss: 1.4804, Acc: 47.06%
Epoch [30/150], Step [350/354], Loss: 1.4804, Acc: 47.06%
✓ Nuevo mejor modelo guardado: Test Acc = 52.51% (época 30)
================================================================================
Época [30/150] Completada
================================================================================
Train Loss: 1.7431 | Train Acc: 46.97%
Test Loss: 1.6120 | Test Acc: 52.51%
Gap (Overfitting): -5.54%
Mejor Test Acc hasta ahora: 52.51% (época 30)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 256.96s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 52.51% (época 30)
================================================================================
Época [30/150] Completada
================================================================================
Train Loss: 1.7431 | Train Acc: 46.97%
Test Loss: 1.6120 | Test Acc: 52.51%
Gap (Overfitting): -5.54%
Mejor Test Acc hasta ahora: 52.51% (época 30)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 256.96s
================================================================================
Epoch [31/150], Step [50/354], Loss: 2.0626, Acc: 48.00%
Epoch [31/150], Step [50/354], Loss: 2.0626, Acc: 48.00%
Epoch [31/150], Step [100/354], Loss: 1.3287, Acc: 47.25%
Epoch [31/150], Step [100/354], Loss: 1.3287, Acc: 47.25%
Epoch [31/150], Step [150/354], Loss: 2.1454, Acc: 47.52%
Epoch [31/150], Step [150/354], Loss: 2.1454, Acc: 47.52%
Epoch [31/150], Step [200/354], Loss: 2.0269, Acc: 47.16%
Epoch [31/150], Step [200/354], Loss: 2.0269, Acc: 47.16%
Epoch [31/150], Step [250/354], Loss: 2.3072, Acc: 47.19%
Epoch [31/150], Step [250/354], Loss: 2.3072, Acc: 47.19%
Epoch [31/150], Step [300/354], Loss: 1.7822, Acc: 46.96%
Epoch [31/150], Step [300/354], Loss: 1.7822, Acc: 46.96%
Epoch [31/150], Step [350/354], Loss: 1.6102, Acc: 47.28%
Epoch [31/150], Step [350/354], Loss: 1.6102, Acc: 47.28%
✓ Nuevo mejor modelo guardado: Test Acc = 52.72% (época 31)
================================================================================
Época [31/150] Completada
================================================================================
Train Loss: 1.7422 | Train Acc: 47.26%
Test Loss: 1.5928 | Test Acc: 52.72%
Gap (Overfitting): -5.46%
Mejor Test Acc hasta ahora: 52.72% (época 31)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 237.73s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 52.72% (época 31)
================================================================================
Época [31/150] Completada
================================================================================
Train Loss: 1.7422 | Train Acc: 47.26%
Test Loss: 1.5928 | Test Acc: 52.72%
Gap (Overfitting): -5.46%
Mejor Test Acc hasta ahora: 52.72% (época 31)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 237.73s
================================================================================
Epoch [32/150], Step [50/354], Loss: 1.5257, Acc: 47.88%
Epoch [32/150], Step [50/354], Loss: 1.5257, Acc: 47.88%
Epoch [32/150], Step [100/354], Loss: 1.7783, Acc: 48.62%
Epoch [32/150], Step [100/354], Loss: 1.7783, Acc: 48.62%
Epoch [32/150], Step [150/354], Loss: 1.7029, Acc: 48.06%
Epoch [32/150], Step [150/354], Loss: 1.7029, Acc: 48.06%
Epoch [32/150], Step [200/354], Loss: 2.1211, Acc: 47.80%
Epoch [32/150], Step [200/354], Loss: 2.1211, Acc: 47.80%
Epoch [32/150], Step [250/354], Loss: 1.1541, Acc: 48.08%
Epoch [32/150], Step [250/354], Loss: 1.1541, Acc: 48.08%
Epoch [32/150], Step [300/354], Loss: 1.8367, Acc: 47.81%
Epoch [32/150], Step [300/354], Loss: 1.8367, Acc: 47.81%
Epoch [32/150], Step [350/354], Loss: 1.7467, Acc: 47.68%
Epoch [32/150], Step [350/354], Loss: 1.7467, Acc: 47.68%
================================================================================
Época [32/150] Completada
================================================================================
Train Loss: 1.7217 | Train Acc: 47.79%
Test Loss: 1.6221 | Test Acc: 51.80%
Gap (Overfitting): -4.02%
Mejor Test Acc hasta ahora: 52.72% (época 31)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 212.68s
================================================================================
================================================================================
Época [32/150] Completada
================================================================================
Train Loss: 1.7217 | Train Acc: 47.79%
Test Loss: 1.6221 | Test Acc: 51.80%
Gap (Overfitting): -4.02%
Mejor Test Acc hasta ahora: 52.72% (época 31)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 212.68s
================================================================================
Epoch [33/150], Step [50/354], Loss: 1.6833, Acc: 48.69%
Epoch [33/150], Step [50/354], Loss: 1.6833, Acc: 48.69%
Epoch [33/150], Step [100/354], Loss: 1.4444, Acc: 48.81%
Epoch [33/150], Step [100/354], Loss: 1.4444, Acc: 48.81%
Epoch [33/150], Step [150/354], Loss: 1.9058, Acc: 48.69%
Epoch [33/150], Step [150/354], Loss: 1.9058, Acc: 48.69%
Epoch [33/150], Step [200/354], Loss: 1.7474, Acc: 48.67%
Epoch [33/150], Step [200/354], Loss: 1.7474, Acc: 48.67%
Epoch [33/150], Step [250/354], Loss: 1.5272, Acc: 48.45%
Epoch [33/150], Step [250/354], Loss: 1.5272, Acc: 48.45%
Epoch [33/150], Step [300/354], Loss: 1.8698, Acc: 48.17%
Epoch [33/150], Step [300/354], Loss: 1.8698, Acc: 48.17%
Epoch [33/150], Step [350/354], Loss: 1.7228, Acc: 48.15%
Epoch [33/150], Step [350/354], Loss: 1.7228, Acc: 48.15%
✓ Nuevo mejor modelo guardado: Test Acc = 54.42% (época 33)
================================================================================
Época [33/150] Completada
================================================================================
Train Loss: 1.7120 | Train Acc: 48.21%
Test Loss: 1.5568 | Test Acc: 54.42%
Gap (Overfitting): -6.21%
Mejor Test Acc hasta ahora: 54.42% (época 33)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 228.81s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 54.42% (época 33)
================================================================================
Época [33/150] Completada
================================================================================
Train Loss: 1.7120 | Train Acc: 48.21%
Test Loss: 1.5568 | Test Acc: 54.42%
Gap (Overfitting): -6.21%
Mejor Test Acc hasta ahora: 54.42% (época 33)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 228.81s
================================================================================
Epoch [34/150], Step [50/354], Loss: 1.5829, Acc: 47.56%
Epoch [34/150], Step [50/354], Loss: 1.5829, Acc: 47.56%
Epoch [34/150], Step [100/354], Loss: 1.9829, Acc: 48.00%
Epoch [34/150], Step [100/354], Loss: 1.9829, Acc: 48.00%
Epoch [34/150], Step [150/354], Loss: 1.6947, Acc: 48.12%
Epoch [34/150], Step [150/354], Loss: 1.6947, Acc: 48.12%
Epoch [34/150], Step [200/354], Loss: 1.6742, Acc: 48.14%
Epoch [34/150], Step [200/354], Loss: 1.6742, Acc: 48.14%
Epoch [34/150], Step [250/354], Loss: 1.3420, Acc: 48.56%
Epoch [34/150], Step [250/354], Loss: 1.3420, Acc: 48.56%
Epoch [34/150], Step [300/354], Loss: 1.6026, Acc: 48.45%
Epoch [34/150], Step [300/354], Loss: 1.6026, Acc: 48.45%
Epoch [34/150], Step [350/354], Loss: 1.5989, Acc: 48.73%
Epoch [34/150], Step [350/354], Loss: 1.5989, Acc: 48.73%
================================================================================
Época [34/150] Completada
================================================================================
Train Loss: 1.7049 | Train Acc: 48.71%
Test Loss: 1.6014 | Test Acc: 52.23%
Gap (Overfitting): -3.52%
Mejor Test Acc hasta ahora: 54.42% (época 33)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 205.96s
================================================================================
================================================================================
Época [34/150] Completada
================================================================================
Train Loss: 1.7049 | Train Acc: 48.71%
Test Loss: 1.6014 | Test Acc: 52.23%
Gap (Overfitting): -3.52%
Mejor Test Acc hasta ahora: 54.42% (época 33)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 205.96s
================================================================================
Epoch [35/150], Step [50/354], Loss: 1.9174, Acc: 48.81%
Epoch [35/150], Step [50/354], Loss: 1.9174, Acc: 48.81%
Epoch [35/150], Step [100/354], Loss: 1.6648, Acc: 48.75%
Epoch [35/150], Step [100/354], Loss: 1.6648, Acc: 48.75%
Epoch [35/150], Step [150/354], Loss: 1.3802, Acc: 48.79%
Epoch [35/150], Step [150/354], Loss: 1.3802, Acc: 48.79%
Epoch [35/150], Step [200/354], Loss: 1.6400, Acc: 49.06%
Epoch [35/150], Step [200/354], Loss: 1.6400, Acc: 49.06%
Epoch [35/150], Step [250/354], Loss: 1.7626, Acc: 49.04%
Epoch [35/150], Step [250/354], Loss: 1.7626, Acc: 49.04%
Epoch [35/150], Step [300/354], Loss: 1.7034, Acc: 48.80%
Epoch [35/150], Step [300/354], Loss: 1.7034, Acc: 48.80%
Epoch [35/150], Step [350/354], Loss: 1.5518, Acc: 48.42%
Epoch [35/150], Step [350/354], Loss: 1.5518, Acc: 48.42%
================================================================================
Época [35/150] Completada
================================================================================
Train Loss: 1.6902 | Train Acc: 48.32%
Test Loss: 1.5449 | Test Acc: 52.93%
Gap (Overfitting): -4.62%
Mejor Test Acc hasta ahora: 54.42% (época 33)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 192.96s
================================================================================
================================================================================
Época [35/150] Completada
================================================================================
Train Loss: 1.6902 | Train Acc: 48.32%
Test Loss: 1.5449 | Test Acc: 52.93%
Gap (Overfitting): -4.62%
Mejor Test Acc hasta ahora: 54.42% (época 33)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 192.96s
================================================================================
Epoch [36/150], Step [50/354], Loss: 1.6270, Acc: 51.06%
Epoch [36/150], Step [50/354], Loss: 1.6270, Acc: 51.06%
Epoch [36/150], Step [100/354], Loss: 1.9746, Acc: 49.56%
Epoch [36/150], Step [100/354], Loss: 1.9746, Acc: 49.56%
Epoch [36/150], Step [150/354], Loss: 1.9317, Acc: 49.94%
Epoch [36/150], Step [150/354], Loss: 1.9317, Acc: 49.94%
Epoch [36/150], Step [200/354], Loss: 1.6785, Acc: 50.22%
Epoch [36/150], Step [200/354], Loss: 1.6785, Acc: 50.22%
Epoch [36/150], Step [250/354], Loss: 1.8952, Acc: 49.71%
Epoch [36/150], Step [250/354], Loss: 1.8952, Acc: 49.71%
Epoch [36/150], Step [300/354], Loss: 1.5831, Acc: 49.28%
Epoch [36/150], Step [300/354], Loss: 1.5831, Acc: 49.28%
Epoch [36/150], Step [350/354], Loss: 1.5653, Acc: 49.43%
Epoch [36/150], Step [350/354], Loss: 1.5653, Acc: 49.43%
✓ Nuevo mejor modelo guardado: Test Acc = 55.19% (época 36)
================================================================================
Época [36/150] Completada
================================================================================
Train Loss: 1.6822 | Train Acc: 49.50%
Test Loss: 1.5460 | Test Acc: 55.19%
Gap (Overfitting): -5.69%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 218.79s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 55.19% (época 36)
================================================================================
Época [36/150] Completada
================================================================================
Train Loss: 1.6822 | Train Acc: 49.50%
Test Loss: 1.5460 | Test Acc: 55.19%
Gap (Overfitting): -5.69%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 218.79s
================================================================================
Epoch [37/150], Step [50/354], Loss: 1.2244, Acc: 52.56%
Epoch [37/150], Step [50/354], Loss: 1.2244, Acc: 52.56%
Epoch [37/150], Step [100/354], Loss: 1.6000, Acc: 50.56%
Epoch [37/150], Step [100/354], Loss: 1.6000, Acc: 50.56%
Epoch [37/150], Step [150/354], Loss: 1.7721, Acc: 50.35%
Epoch [37/150], Step [150/354], Loss: 1.7721, Acc: 50.35%
Epoch [37/150], Step [200/354], Loss: 1.2499, Acc: 49.92%
Epoch [37/150], Step [200/354], Loss: 1.2499, Acc: 49.92%
Epoch [37/150], Step [250/354], Loss: 1.2536, Acc: 49.56%
Epoch [37/150], Step [250/354], Loss: 1.2536, Acc: 49.56%
Epoch [37/150], Step [300/354], Loss: 1.7521, Acc: 49.61%
Epoch [37/150], Step [300/354], Loss: 1.7521, Acc: 49.61%
Epoch [37/150], Step [350/354], Loss: 1.6829, Acc: 49.50%
Epoch [37/150], Step [350/354], Loss: 1.6829, Acc: 49.50%
================================================================================
Época [37/150] Completada
================================================================================
Train Loss: 1.6574 | Train Acc: 49.47%
Test Loss: 1.5527 | Test Acc: 54.06%
Gap (Overfitting): -4.59%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 249.61s
================================================================================
================================================================================
Época [37/150] Completada
================================================================================
Train Loss: 1.6574 | Train Acc: 49.47%
Test Loss: 1.5527 | Test Acc: 54.06%
Gap (Overfitting): -4.59%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 249.61s
================================================================================
Epoch [38/150], Step [50/354], Loss: 1.2821, Acc: 47.38%
Epoch [38/150], Step [50/354], Loss: 1.2821, Acc: 47.38%
Epoch [38/150], Step [100/354], Loss: 1.5529, Acc: 48.06%
Epoch [38/150], Step [100/354], Loss: 1.5529, Acc: 48.06%
Epoch [38/150], Step [150/354], Loss: 1.6275, Acc: 49.35%
Epoch [38/150], Step [150/354], Loss: 1.6275, Acc: 49.35%
Epoch [38/150], Step [200/354], Loss: 1.4669, Acc: 49.30%
Epoch [38/150], Step [200/354], Loss: 1.4669, Acc: 49.30%
Epoch [38/150], Step [250/354], Loss: 1.8335, Acc: 49.10%
Epoch [38/150], Step [250/354], Loss: 1.8335, Acc: 49.10%
Epoch [38/150], Step [300/354], Loss: 1.6982, Acc: 49.54%
Epoch [38/150], Step [300/354], Loss: 1.6982, Acc: 49.54%
Epoch [38/150], Step [350/354], Loss: 1.9961, Acc: 49.56%
Epoch [38/150], Step [350/354], Loss: 1.9961, Acc: 49.56%
================================================================================
Época [38/150] Completada
================================================================================
Train Loss: 1.6432 | Train Acc: 49.46%
Test Loss: 1.5808 | Test Acc: 52.69%
Gap (Overfitting): -3.23%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 250.07s
================================================================================
================================================================================
Época [38/150] Completada
================================================================================
Train Loss: 1.6432 | Train Acc: 49.46%
Test Loss: 1.5808 | Test Acc: 52.69%
Gap (Overfitting): -3.23%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 250.07s
================================================================================
Epoch [39/150], Step [50/354], Loss: 1.6924, Acc: 51.75%
Epoch [39/150], Step [50/354], Loss: 1.6924, Acc: 51.75%
Epoch [39/150], Step [100/354], Loss: 2.1721, Acc: 50.91%
Epoch [39/150], Step [100/354], Loss: 2.1721, Acc: 50.91%
Epoch [39/150], Step [150/354], Loss: 1.3888, Acc: 50.60%
Epoch [39/150], Step [150/354], Loss: 1.3888, Acc: 50.60%
Epoch [39/150], Step [200/354], Loss: 1.7807, Acc: 50.75%
Epoch [39/150], Step [200/354], Loss: 1.7807, Acc: 50.75%
Epoch [39/150], Step [250/354], Loss: 1.3900, Acc: 50.71%
Epoch [39/150], Step [250/354], Loss: 1.3900, Acc: 50.71%
Epoch [39/150], Step [300/354], Loss: 1.4952, Acc: 50.61%
Epoch [39/150], Step [300/354], Loss: 1.4952, Acc: 50.61%
Epoch [39/150], Step [350/354], Loss: 1.3926, Acc: 50.46%
Epoch [39/150], Step [350/354], Loss: 1.3926, Acc: 50.46%
================================================================================
Época [39/150] Completada
================================================================================
Train Loss: 1.6239 | Train Acc: 50.51%
Test Loss: 1.6336 | Test Acc: 52.54%
Gap (Overfitting): -2.04%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 248.43s
================================================================================
================================================================================
Época [39/150] Completada
================================================================================
Train Loss: 1.6239 | Train Acc: 50.51%
Test Loss: 1.6336 | Test Acc: 52.54%
Gap (Overfitting): -2.04%
Mejor Test Acc hasta ahora: 55.19% (época 36)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 248.43s
================================================================================
Epoch [40/150], Step [50/354], Loss: 1.7901, Acc: 50.56%
Epoch [40/150], Step [50/354], Loss: 1.7901, Acc: 50.56%
Epoch [40/150], Step [100/354], Loss: 1.2214, Acc: 51.53%
Epoch [40/150], Step [100/354], Loss: 1.2214, Acc: 51.53%
Epoch [40/150], Step [150/354], Loss: 1.5880, Acc: 51.35%
Epoch [40/150], Step [150/354], Loss: 1.5880, Acc: 51.35%
Epoch [40/150], Step [200/354], Loss: 1.8765, Acc: 51.48%
Epoch [40/150], Step [200/354], Loss: 1.8765, Acc: 51.48%
Epoch [40/150], Step [250/354], Loss: 1.8591, Acc: 50.99%
Epoch [40/150], Step [250/354], Loss: 1.8591, Acc: 50.99%
Epoch [40/150], Step [300/354], Loss: 1.3425, Acc: 50.94%
Epoch [40/150], Step [300/354], Loss: 1.3425, Acc: 50.94%
Epoch [40/150], Step [350/354], Loss: 1.3109, Acc: 50.73%
Epoch [40/150], Step [350/354], Loss: 1.3109, Acc: 50.73%
✓ Nuevo mejor modelo guardado: Test Acc = 55.30% (época 40)
================================================================================
Época [40/150] Completada
================================================================================
Train Loss: 1.6215 | Train Acc: 50.76%
Test Loss: 1.5062 | Test Acc: 55.30%
Gap (Overfitting): -4.54%
Mejor Test Acc hasta ahora: 55.30% (época 40)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 248.98s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 55.30% (época 40)
================================================================================
Época [40/150] Completada
================================================================================
Train Loss: 1.6215 | Train Acc: 50.76%
Test Loss: 1.5062 | Test Acc: 55.30%
Gap (Overfitting): -4.54%
Mejor Test Acc hasta ahora: 55.30% (época 40)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 248.98s
================================================================================
Epoch [41/150], Step [50/354], Loss: 1.4552, Acc: 50.06%
Epoch [41/150], Step [50/354], Loss: 1.4552, Acc: 50.06%
Epoch [41/150], Step [100/354], Loss: 1.7850, Acc: 51.22%
Epoch [41/150], Step [100/354], Loss: 1.7850, Acc: 51.22%
Epoch [41/150], Step [150/354], Loss: 1.8636, Acc: 51.15%
Epoch [41/150], Step [150/354], Loss: 1.8636, Acc: 51.15%
Epoch [41/150], Step [200/354], Loss: 1.8373, Acc: 51.27%
Epoch [41/150], Step [200/354], Loss: 1.8373, Acc: 51.27%
Epoch [41/150], Step [250/354], Loss: 1.2725, Acc: 51.49%
Epoch [41/150], Step [250/354], Loss: 1.2725, Acc: 51.49%
Epoch [41/150], Step [300/354], Loss: 1.5719, Acc: 51.64%
Epoch [41/150], Step [300/354], Loss: 1.5719, Acc: 51.64%
Epoch [41/150], Step [350/354], Loss: 1.9823, Acc: 51.70%
Epoch [41/150], Step [350/354], Loss: 1.9823, Acc: 51.70%
✓ Nuevo mejor modelo guardado: Test Acc = 55.44% (época 41)
================================================================================
Época [41/150] Completada
================================================================================
Train Loss: 1.5877 | Train Acc: 51.72%
Test Loss: 1.5289 | Test Acc: 55.44%
Gap (Overfitting): -3.72%
Mejor Test Acc hasta ahora: 55.44% (época 41)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 216.38s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 55.44% (época 41)
================================================================================
Época [41/150] Completada
================================================================================
Train Loss: 1.5877 | Train Acc: 51.72%
Test Loss: 1.5289 | Test Acc: 55.44%
Gap (Overfitting): -3.72%
Mejor Test Acc hasta ahora: 55.44% (época 41)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 216.38s
================================================================================
Epoch [42/150], Step [50/354], Loss: 1.8103, Acc: 50.50%
Epoch [42/150], Step [50/354], Loss: 1.8103, Acc: 50.50%
Epoch [42/150], Step [100/354], Loss: 1.4738, Acc: 51.31%
Epoch [42/150], Step [100/354], Loss: 1.4738, Acc: 51.31%
Epoch [42/150], Step [150/354], Loss: 1.4789, Acc: 50.81%
Epoch [42/150], Step [150/354], Loss: 1.4789, Acc: 50.81%
Epoch [42/150], Step [200/354], Loss: 1.4223, Acc: 51.73%
Epoch [42/150], Step [200/354], Loss: 1.4223, Acc: 51.73%
Epoch [42/150], Step [250/354], Loss: 1.6487, Acc: 52.19%
Epoch [42/150], Step [250/354], Loss: 1.6487, Acc: 52.19%
Epoch [42/150], Step [300/354], Loss: 1.3866, Acc: 52.02%
Epoch [42/150], Step [300/354], Loss: 1.3866, Acc: 52.02%
Epoch [42/150], Step [350/354], Loss: 1.4120, Acc: 51.79%
Epoch [42/150], Step [350/354], Loss: 1.4120, Acc: 51.79%
================================================================================
Época [42/150] Completada
================================================================================
Train Loss: 1.5687 | Train Acc: 51.76%
Test Loss: 1.6242 | Test Acc: 53.96%
Gap (Overfitting): -2.20%
Mejor Test Acc hasta ahora: 55.44% (época 41)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 222.82s
================================================================================
================================================================================
Época [42/150] Completada
================================================================================
Train Loss: 1.5687 | Train Acc: 51.76%
Test Loss: 1.6242 | Test Acc: 53.96%
Gap (Overfitting): -2.20%
Mejor Test Acc hasta ahora: 55.44% (época 41)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 222.82s
================================================================================
Epoch [43/150], Step [50/354], Loss: 1.5597, Acc: 53.12%
Epoch [43/150], Step [50/354], Loss: 1.5597, Acc: 53.12%
Epoch [43/150], Step [100/354], Loss: 1.7219, Acc: 52.97%
Epoch [43/150], Step [100/354], Loss: 1.7219, Acc: 52.97%
Epoch [43/150], Step [150/354], Loss: 1.8262, Acc: 52.94%
Epoch [43/150], Step [150/354], Loss: 1.8262, Acc: 52.94%
Epoch [43/150], Step [200/354], Loss: 2.0917, Acc: 52.50%
Epoch [43/150], Step [200/354], Loss: 2.0917, Acc: 52.50%
Epoch [43/150], Step [250/354], Loss: 1.6859, Acc: 51.95%
Epoch [43/150], Step [250/354], Loss: 1.6859, Acc: 51.95%
Epoch [43/150], Step [300/354], Loss: 1.4537, Acc: 51.82%
Epoch [43/150], Step [300/354], Loss: 1.4537, Acc: 51.82%
Epoch [43/150], Step [350/354], Loss: 1.7325, Acc: 51.92%
Epoch [43/150], Step [350/354], Loss: 1.7325, Acc: 51.92%
✓ Nuevo mejor modelo guardado: Test Acc = 55.51% (época 43)
================================================================================
Época [43/150] Completada
================================================================================
Train Loss: 1.5810 | Train Acc: 51.84%
Test Loss: 1.5120 | Test Acc: 55.51%
Gap (Overfitting): -3.67%
Mejor Test Acc hasta ahora: 55.51% (época 43)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 221.29s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 55.51% (época 43)
================================================================================
Época [43/150] Completada
================================================================================
Train Loss: 1.5810 | Train Acc: 51.84%
Test Loss: 1.5120 | Test Acc: 55.51%
Gap (Overfitting): -3.67%
Mejor Test Acc hasta ahora: 55.51% (época 43)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 221.29s
================================================================================
Epoch [44/150], Step [50/354], Loss: 2.3365, Acc: 51.81%
Epoch [44/150], Step [50/354], Loss: 2.3365, Acc: 51.81%
Epoch [44/150], Step [100/354], Loss: 1.4016, Acc: 53.03%
Epoch [44/150], Step [100/354], Loss: 1.4016, Acc: 53.03%
Epoch [44/150], Step [150/354], Loss: 2.0548, Acc: 52.40%
Epoch [44/150], Step [150/354], Loss: 2.0548, Acc: 52.40%
Epoch [44/150], Step [200/354], Loss: 1.6714, Acc: 52.55%
Epoch [44/150], Step [200/354], Loss: 1.6714, Acc: 52.55%
Epoch [44/150], Step [250/354], Loss: 1.6718, Acc: 52.60%
Epoch [44/150], Step [250/354], Loss: 1.6718, Acc: 52.60%
Epoch [44/150], Step [300/354], Loss: 1.1238, Acc: 52.85%
Epoch [44/150], Step [300/354], Loss: 1.1238, Acc: 52.85%
Epoch [44/150], Step [350/354], Loss: 1.2679, Acc: 52.77%
Epoch [44/150], Step [350/354], Loss: 1.2679, Acc: 52.77%
================================================================================
Época [44/150] Completada
================================================================================
Train Loss: 1.5646 | Train Acc: 52.84%
Test Loss: 1.5690 | Test Acc: 53.96%
Gap (Overfitting): -1.12%
Mejor Test Acc hasta ahora: 55.51% (época 43)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 177.05s
================================================================================
================================================================================
Época [44/150] Completada
================================================================================
Train Loss: 1.5646 | Train Acc: 52.84%
Test Loss: 1.5690 | Test Acc: 53.96%
Gap (Overfitting): -1.12%
Mejor Test Acc hasta ahora: 55.51% (época 43)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 177.05s
================================================================================
Epoch [45/150], Step [50/354], Loss: 1.6212, Acc: 54.00%
Epoch [45/150], Step [50/354], Loss: 1.6212, Acc: 54.00%
Epoch [45/150], Step [100/354], Loss: 1.2145, Acc: 53.84%
Epoch [45/150], Step [100/354], Loss: 1.2145, Acc: 53.84%
Epoch [45/150], Step [150/354], Loss: 1.8317, Acc: 54.17%
Epoch [45/150], Step [150/354], Loss: 1.8317, Acc: 54.17%
Epoch [45/150], Step [200/354], Loss: 1.5139, Acc: 53.80%
Epoch [45/150], Step [200/354], Loss: 1.5139, Acc: 53.80%
Epoch [45/150], Step [250/354], Loss: 1.6149, Acc: 53.29%
Epoch [45/150], Step [250/354], Loss: 1.6149, Acc: 53.29%
Epoch [45/150], Step [300/354], Loss: 1.1697, Acc: 52.98%
Epoch [45/150], Step [300/354], Loss: 1.1697, Acc: 52.98%
Epoch [45/150], Step [350/354], Loss: 1.3054, Acc: 53.04%
Epoch [45/150], Step [350/354], Loss: 1.3054, Acc: 53.04%
✓ Nuevo mejor modelo guardado: Test Acc = 56.68% (época 45)
================================================================================
Época [45/150] Completada
================================================================================
Train Loss: 1.5501 | Train Acc: 53.00%
Test Loss: 1.5063 | Test Acc: 56.68%
Gap (Overfitting): -3.68%
Mejor Test Acc hasta ahora: 56.68% (época 45)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 177.71s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 56.68% (época 45)
================================================================================
Época [45/150] Completada
================================================================================
Train Loss: 1.5501 | Train Acc: 53.00%
Test Loss: 1.5063 | Test Acc: 56.68%
Gap (Overfitting): -3.68%
Mejor Test Acc hasta ahora: 56.68% (época 45)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 177.71s
================================================================================
Epoch [46/150], Step [50/354], Loss: 1.8225, Acc: 55.12%
Epoch [46/150], Step [50/354], Loss: 1.8225, Acc: 55.12%
Epoch [46/150], Step [100/354], Loss: 1.7759, Acc: 53.66%
Epoch [46/150], Step [100/354], Loss: 1.7759, Acc: 53.66%
Epoch [46/150], Step [150/354], Loss: 1.6708, Acc: 53.33%
Epoch [46/150], Step [150/354], Loss: 1.6708, Acc: 53.33%
Epoch [46/150], Step [200/354], Loss: 1.7228, Acc: 53.31%
Epoch [46/150], Step [200/354], Loss: 1.7228, Acc: 53.31%
Epoch [46/150], Step [250/354], Loss: 1.4767, Acc: 53.51%
Epoch [46/150], Step [250/354], Loss: 1.4767, Acc: 53.51%
Epoch [46/150], Step [300/354], Loss: 1.0854, Acc: 53.68%
Epoch [46/150], Step [300/354], Loss: 1.0854, Acc: 53.68%
Epoch [46/150], Step [350/354], Loss: 1.8384, Acc: 53.18%
Epoch [46/150], Step [350/354], Loss: 1.8384, Acc: 53.18%
================================================================================
Época [46/150] Completada
================================================================================
Train Loss: 1.5339 | Train Acc: 53.24%
Test Loss: 1.5252 | Test Acc: 55.97%
Gap (Overfitting): -2.73%
Mejor Test Acc hasta ahora: 56.68% (época 45)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 211.10s
================================================================================
================================================================================
Época [46/150] Completada
================================================================================
Train Loss: 1.5339 | Train Acc: 53.24%
Test Loss: 1.5252 | Test Acc: 55.97%
Gap (Overfitting): -2.73%
Mejor Test Acc hasta ahora: 56.68% (época 45)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 211.10s
================================================================================
Epoch [47/150], Step [50/354], Loss: 1.2867, Acc: 53.38%
Epoch [47/150], Step [50/354], Loss: 1.2867, Acc: 53.38%
Epoch [47/150], Step [100/354], Loss: 1.6977, Acc: 54.66%
Epoch [47/150], Step [100/354], Loss: 1.6977, Acc: 54.66%
Epoch [47/150], Step [150/354], Loss: 1.4805, Acc: 54.21%
Epoch [47/150], Step [150/354], Loss: 1.4805, Acc: 54.21%
Epoch [47/150], Step [200/354], Loss: 1.3635, Acc: 54.28%
Epoch [47/150], Step [200/354], Loss: 1.3635, Acc: 54.28%
Epoch [47/150], Step [250/354], Loss: 1.7676, Acc: 54.09%
Epoch [47/150], Step [250/354], Loss: 1.7676, Acc: 54.09%
Epoch [47/150], Step [300/354], Loss: 1.6714, Acc: 53.70%
Epoch [47/150], Step [300/354], Loss: 1.6714, Acc: 53.70%
Epoch [47/150], Step [350/354], Loss: 1.5942, Acc: 53.52%
Epoch [47/150], Step [350/354], Loss: 1.5942, Acc: 53.52%
✓ Nuevo mejor modelo guardado: Test Acc = 57.46% (época 47)
================================================================================
Época [47/150] Completada
================================================================================
Train Loss: 1.5238 | Train Acc: 53.47%
Test Loss: 1.4563 | Test Acc: 57.46%
Gap (Overfitting): -3.99%
Mejor Test Acc hasta ahora: 57.46% (época 47)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 206.28s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 57.46% (época 47)
================================================================================
Época [47/150] Completada
================================================================================
Train Loss: 1.5238 | Train Acc: 53.47%
Test Loss: 1.4563 | Test Acc: 57.46%
Gap (Overfitting): -3.99%
Mejor Test Acc hasta ahora: 57.46% (época 47)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 206.28s
================================================================================
Epoch [48/150], Step [50/354], Loss: 1.7126, Acc: 54.44%
Epoch [48/150], Step [50/354], Loss: 1.7126, Acc: 54.44%
Epoch [48/150], Step [100/354], Loss: 1.4121, Acc: 54.78%
Epoch [48/150], Step [100/354], Loss: 1.4121, Acc: 54.78%
Epoch [48/150], Step [150/354], Loss: 1.4676, Acc: 54.69%
Epoch [48/150], Step [150/354], Loss: 1.4676, Acc: 54.69%
Epoch [48/150], Step [200/354], Loss: 1.2280, Acc: 54.22%
Epoch [48/150], Step [200/354], Loss: 1.2280, Acc: 54.22%
Epoch [48/150], Step [250/354], Loss: 1.4147, Acc: 53.96%
Epoch [48/150], Step [250/354], Loss: 1.4147, Acc: 53.96%
Epoch [48/150], Step [300/354], Loss: 1.3095, Acc: 53.81%
Epoch [48/150], Step [300/354], Loss: 1.3095, Acc: 53.81%
Epoch [48/150], Step [350/354], Loss: 1.5506, Acc: 54.04%
Epoch [48/150], Step [350/354], Loss: 1.5506, Acc: 54.04%
================================================================================
Época [48/150] Completada
================================================================================
Train Loss: 1.5161 | Train Acc: 53.98%
Test Loss: 1.5194 | Test Acc: 56.25%
Gap (Overfitting): -2.27%
Mejor Test Acc hasta ahora: 57.46% (época 47)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 232.27s
================================================================================
================================================================================
Época [48/150] Completada
================================================================================
Train Loss: 1.5161 | Train Acc: 53.98%
Test Loss: 1.5194 | Test Acc: 56.25%
Gap (Overfitting): -2.27%
Mejor Test Acc hasta ahora: 57.46% (época 47)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 232.27s
================================================================================
Epoch [49/150], Step [50/354], Loss: 1.6968, Acc: 52.44%
Epoch [49/150], Step [50/354], Loss: 1.6968, Acc: 52.44%
Epoch [49/150], Step [100/354], Loss: 1.5226, Acc: 53.59%
Epoch [49/150], Step [100/354], Loss: 1.5226, Acc: 53.59%
Epoch [49/150], Step [150/354], Loss: 1.8628, Acc: 53.52%
Epoch [49/150], Step [150/354], Loss: 1.8628, Acc: 53.52%
Epoch [49/150], Step [200/354], Loss: 1.7979, Acc: 53.81%
Epoch [49/150], Step [200/354], Loss: 1.7979, Acc: 53.81%
Epoch [49/150], Step [250/354], Loss: 1.5485, Acc: 53.79%
Epoch [49/150], Step [250/354], Loss: 1.5485, Acc: 53.79%
Epoch [49/150], Step [300/354], Loss: 1.9534, Acc: 53.32%
Epoch [49/150], Step [300/354], Loss: 1.9534, Acc: 53.32%
Epoch [49/150], Step [350/354], Loss: 1.2009, Acc: 53.61%
Epoch [49/150], Step [350/354], Loss: 1.2009, Acc: 53.61%
================================================================================
Época [49/150] Completada
================================================================================
Train Loss: 1.5018 | Train Acc: 53.58%
Test Loss: 1.5234 | Test Acc: 56.50%
Gap (Overfitting): -2.92%
Mejor Test Acc hasta ahora: 57.46% (época 47)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 232.32s
================================================================================
================================================================================
Época [49/150] Completada
================================================================================
Train Loss: 1.5018 | Train Acc: 53.58%
Test Loss: 1.5234 | Test Acc: 56.50%
Gap (Overfitting): -2.92%
Mejor Test Acc hasta ahora: 57.46% (época 47)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 232.32s
================================================================================
Epoch [50/150], Step [50/354], Loss: 0.9988, Acc: 54.88%
Epoch [50/150], Step [50/354], Loss: 0.9988, Acc: 54.88%
Epoch [50/150], Step [100/354], Loss: 1.7363, Acc: 56.31%
Epoch [50/150], Step [100/354], Loss: 1.7363, Acc: 56.31%
Epoch [50/150], Step [150/354], Loss: 1.8198, Acc: 55.75%
Epoch [50/150], Step [150/354], Loss: 1.8198, Acc: 55.75%
Epoch [50/150], Step [200/354], Loss: 1.4947, Acc: 55.14%
Epoch [50/150], Step [200/354], Loss: 1.4947, Acc: 55.14%
Epoch [50/150], Step [250/354], Loss: 1.2979, Acc: 55.20%
Epoch [50/150], Step [250/354], Loss: 1.2979, Acc: 55.20%
Epoch [50/150], Step [300/354], Loss: 1.4826, Acc: 54.58%
Epoch [50/150], Step [300/354], Loss: 1.4826, Acc: 54.58%
Epoch [50/150], Step [350/354], Loss: 1.3204, Acc: 54.47%
Epoch [50/150], Step [350/354], Loss: 1.3204, Acc: 54.47%
✓ Nuevo mejor modelo guardado: Test Acc = 59.22% (época 50)
================================================================================
Época [50/150] Completada
================================================================================
Train Loss: 1.4913 | Train Acc: 54.54%
Test Loss: 1.4469 | Test Acc: 59.22%
Gap (Overfitting): -4.69%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 231.60s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 59.22% (época 50)
================================================================================
Época [50/150] Completada
================================================================================
Train Loss: 1.4913 | Train Acc: 54.54%
Test Loss: 1.4469 | Test Acc: 59.22%
Gap (Overfitting): -4.69%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 231.60s
================================================================================
Epoch [51/150], Step [50/354], Loss: 1.2879, Acc: 56.38%
Epoch [51/150], Step [50/354], Loss: 1.2879, Acc: 56.38%
Epoch [51/150], Step [100/354], Loss: 1.5276, Acc: 56.03%
Epoch [51/150], Step [100/354], Loss: 1.5276, Acc: 56.03%
Epoch [51/150], Step [150/354], Loss: 1.3311, Acc: 55.50%
Epoch [51/150], Step [150/354], Loss: 1.3311, Acc: 55.50%
Epoch [51/150], Step [200/354], Loss: 1.5724, Acc: 55.05%
Epoch [51/150], Step [200/354], Loss: 1.5724, Acc: 55.05%
Epoch [51/150], Step [250/354], Loss: 1.2747, Acc: 54.80%
Epoch [51/150], Step [250/354], Loss: 1.2747, Acc: 54.80%
Epoch [51/150], Step [300/354], Loss: 1.1797, Acc: 54.71%
Epoch [51/150], Step [300/354], Loss: 1.1797, Acc: 54.71%
Epoch [51/150], Step [350/354], Loss: 1.6541, Acc: 54.41%
Epoch [51/150], Step [350/354], Loss: 1.6541, Acc: 54.41%
================================================================================
Época [51/150] Completada
================================================================================
Train Loss: 1.4794 | Train Acc: 54.42%
Test Loss: 1.4523 | Test Acc: 57.74%
Gap (Overfitting): -3.32%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 230.00s
================================================================================
================================================================================
Época [51/150] Completada
================================================================================
Train Loss: 1.4794 | Train Acc: 54.42%
Test Loss: 1.4523 | Test Acc: 57.74%
Gap (Overfitting): -3.32%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 230.00s
================================================================================
Epoch [52/150], Step [50/354], Loss: 1.4614, Acc: 55.88%
Epoch [52/150], Step [50/354], Loss: 1.4614, Acc: 55.88%
Epoch [52/150], Step [100/354], Loss: 1.3691, Acc: 54.88%
Epoch [52/150], Step [100/354], Loss: 1.3691, Acc: 54.88%
Epoch [52/150], Step [150/354], Loss: 1.2179, Acc: 55.46%
Epoch [52/150], Step [150/354], Loss: 1.2179, Acc: 55.46%
Epoch [52/150], Step [200/354], Loss: 1.6509, Acc: 55.34%
Epoch [52/150], Step [200/354], Loss: 1.6509, Acc: 55.34%
Epoch [52/150], Step [250/354], Loss: 1.5926, Acc: 55.23%
Epoch [52/150], Step [250/354], Loss: 1.5926, Acc: 55.23%
Epoch [52/150], Step [300/354], Loss: 1.8341, Acc: 55.16%
Epoch [52/150], Step [300/354], Loss: 1.8341, Acc: 55.16%
Epoch [52/150], Step [350/354], Loss: 1.2927, Acc: 55.50%
Epoch [52/150], Step [350/354], Loss: 1.2927, Acc: 55.50%
================================================================================
Época [52/150] Completada
================================================================================
Train Loss: 1.4597 | Train Acc: 55.52%
Test Loss: 1.4822 | Test Acc: 59.12%
Gap (Overfitting): -3.60%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 224.90s
================================================================================
================================================================================
Época [52/150] Completada
================================================================================
Train Loss: 1.4597 | Train Acc: 55.52%
Test Loss: 1.4822 | Test Acc: 59.12%
Gap (Overfitting): -3.60%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 224.90s
================================================================================
Epoch [53/150], Step [50/354], Loss: 1.3282, Acc: 55.50%
Epoch [53/150], Step [50/354], Loss: 1.3282, Acc: 55.50%
Epoch [53/150], Step [100/354], Loss: 1.2710, Acc: 56.28%
Epoch [53/150], Step [100/354], Loss: 1.2710, Acc: 56.28%
Epoch [53/150], Step [150/354], Loss: 1.5060, Acc: 55.88%
Epoch [53/150], Step [150/354], Loss: 1.5060, Acc: 55.88%
Epoch [53/150], Step [200/354], Loss: 1.8715, Acc: 55.56%
Epoch [53/150], Step [200/354], Loss: 1.8715, Acc: 55.56%
Epoch [53/150], Step [250/354], Loss: 1.4292, Acc: 55.52%
Epoch [53/150], Step [250/354], Loss: 1.4292, Acc: 55.52%
Epoch [53/150], Step [300/354], Loss: 1.4054, Acc: 55.30%
Epoch [53/150], Step [300/354], Loss: 1.4054, Acc: 55.30%
Epoch [53/150], Step [350/354], Loss: 1.5109, Acc: 55.38%
Epoch [53/150], Step [350/354], Loss: 1.5109, Acc: 55.38%
================================================================================
Época [53/150] Completada
================================================================================
Train Loss: 1.4646 | Train Acc: 55.45%
Test Loss: 1.4692 | Test Acc: 58.87%
Gap (Overfitting): -3.42%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 223.68s
================================================================================
================================================================================
Época [53/150] Completada
================================================================================
Train Loss: 1.4646 | Train Acc: 55.45%
Test Loss: 1.4692 | Test Acc: 58.87%
Gap (Overfitting): -3.42%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 223.68s
================================================================================
Epoch [54/150], Step [50/354], Loss: 1.5080, Acc: 57.81%
Epoch [54/150], Step [50/354], Loss: 1.5080, Acc: 57.81%
Epoch [54/150], Step [100/354], Loss: 1.5811, Acc: 57.31%
Epoch [54/150], Step [100/354], Loss: 1.5811, Acc: 57.31%
Epoch [54/150], Step [150/354], Loss: 1.5449, Acc: 56.54%
Epoch [54/150], Step [150/354], Loss: 1.5449, Acc: 56.54%
Epoch [54/150], Step [200/354], Loss: 1.0735, Acc: 56.88%
Epoch [54/150], Step [200/354], Loss: 1.0735, Acc: 56.88%
Epoch [54/150], Step [250/354], Loss: 1.1633, Acc: 56.40%
Epoch [54/150], Step [250/354], Loss: 1.1633, Acc: 56.40%
Epoch [54/150], Step [300/354], Loss: 1.4432, Acc: 55.88%
Epoch [54/150], Step [300/354], Loss: 1.4432, Acc: 55.88%
Epoch [54/150], Step [350/354], Loss: 1.4682, Acc: 56.04%
Epoch [54/150], Step [350/354], Loss: 1.4682, Acc: 56.04%
================================================================================
Época [54/150] Completada
================================================================================
Train Loss: 1.4528 | Train Acc: 56.07%
Test Loss: 1.5366 | Test Acc: 56.40%
Gap (Overfitting): -0.32%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 4/15
Learning Rate actual: 1.00e-04
Tiempo de época: 222.95s
================================================================================
================================================================================
Época [54/150] Completada
================================================================================
Train Loss: 1.4528 | Train Acc: 56.07%
Test Loss: 1.5366 | Test Acc: 56.40%
Gap (Overfitting): -0.32%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 4/15
Learning Rate actual: 1.00e-04
Tiempo de época: 222.95s
================================================================================
Epoch [55/150], Step [50/354], Loss: 1.5601, Acc: 58.62%
Epoch [55/150], Step [50/354], Loss: 1.5601, Acc: 58.62%
Epoch [55/150], Step [100/354], Loss: 1.4421, Acc: 58.06%
Epoch [55/150], Step [100/354], Loss: 1.4421, Acc: 58.06%
Epoch [55/150], Step [150/354], Loss: 1.4037, Acc: 56.77%
Epoch [55/150], Step [150/354], Loss: 1.4037, Acc: 56.77%
Epoch [55/150], Step [200/354], Loss: 1.8491, Acc: 56.61%
Epoch [55/150], Step [200/354], Loss: 1.8491, Acc: 56.61%
Epoch [55/150], Step [250/354], Loss: 1.5903, Acc: 56.46%
Epoch [55/150], Step [250/354], Loss: 1.5903, Acc: 56.46%
Epoch [55/150], Step [300/354], Loss: 1.0028, Acc: 56.74%
Epoch [55/150], Step [300/354], Loss: 1.0028, Acc: 56.74%
Epoch [55/150], Step [350/354], Loss: 1.7132, Acc: 56.46%
Epoch [55/150], Step [350/354], Loss: 1.7132, Acc: 56.46%
================================================================================
Época [55/150] Completada
================================================================================
Train Loss: 1.4249 | Train Acc: 56.51%
Test Loss: 1.4477 | Test Acc: 58.52%
Gap (Overfitting): -2.01%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 5/15
Learning Rate actual: 1.00e-04
Tiempo de época: 224.54s
================================================================================
================================================================================
Época [55/150] Completada
================================================================================
Train Loss: 1.4249 | Train Acc: 56.51%
Test Loss: 1.4477 | Test Acc: 58.52%
Gap (Overfitting): -2.01%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 5/15
Learning Rate actual: 1.00e-04
Tiempo de época: 224.54s
================================================================================
Epoch [56/150], Step [50/354], Loss: 1.5801, Acc: 55.75%
Epoch [56/150], Step [50/354], Loss: 1.5801, Acc: 55.75%
Epoch [56/150], Step [100/354], Loss: 1.0905, Acc: 56.72%
Epoch [56/150], Step [100/354], Loss: 1.0905, Acc: 56.72%
Epoch [56/150], Step [150/354], Loss: 1.1796, Acc: 56.29%
Epoch [56/150], Step [150/354], Loss: 1.1796, Acc: 56.29%
Epoch [56/150], Step [200/354], Loss: 1.4205, Acc: 56.36%
Epoch [56/150], Step [200/354], Loss: 1.4205, Acc: 56.36%
Epoch [56/150], Step [250/354], Loss: 1.4952, Acc: 56.56%
Epoch [56/150], Step [250/354], Loss: 1.4952, Acc: 56.56%
Epoch [56/150], Step [300/354], Loss: 1.9193, Acc: 56.26%
Epoch [56/150], Step [300/354], Loss: 1.9193, Acc: 56.26%
Epoch [56/150], Step [350/354], Loss: 1.4550, Acc: 56.56%
Epoch [56/150], Step [350/354], Loss: 1.4550, Acc: 56.56%
================================================================================
Época [56/150] Completada
================================================================================
Train Loss: 1.4201 | Train Acc: 56.56%
Test Loss: 1.4762 | Test Acc: 58.48%
Gap (Overfitting): -1.92%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 6/15
Learning Rate actual: 1.00e-04
Tiempo de época: 223.78s
================================================================================
================================================================================
Época [56/150] Completada
================================================================================
Train Loss: 1.4201 | Train Acc: 56.56%
Test Loss: 1.4762 | Test Acc: 58.48%
Gap (Overfitting): -1.92%
Mejor Test Acc hasta ahora: 59.22% (época 50)
Épocas sin mejora: 6/15
Learning Rate actual: 1.00e-04
Tiempo de época: 223.78s
================================================================================
Epoch [57/150], Step [50/354], Loss: 1.4893, Acc: 57.88%
Epoch [57/150], Step [50/354], Loss: 1.4893, Acc: 57.88%
Epoch [57/150], Step [100/354], Loss: 1.5062, Acc: 58.19%
Epoch [57/150], Step [100/354], Loss: 1.5062, Acc: 58.19%
Epoch [57/150], Step [150/354], Loss: 1.3614, Acc: 58.21%
Epoch [57/150], Step [150/354], Loss: 1.3614, Acc: 58.21%
Epoch [57/150], Step [200/354], Loss: 1.7238, Acc: 57.33%
Epoch [57/150], Step [200/354], Loss: 1.7238, Acc: 57.33%
Epoch [57/150], Step [250/354], Loss: 1.7928, Acc: 57.00%
Epoch [57/150], Step [250/354], Loss: 1.7928, Acc: 57.00%
Epoch [57/150], Step [300/354], Loss: 0.9757, Acc: 56.74%
Epoch [57/150], Step [300/354], Loss: 0.9757, Acc: 56.74%
Epoch [57/150], Step [350/354], Loss: 1.2842, Acc: 57.00%
Epoch [57/150], Step [350/354], Loss: 1.2842, Acc: 57.00%
✓ Nuevo mejor modelo guardado: Test Acc = 60.28% (época 57)
================================================================================
Época [57/150] Completada
================================================================================
Train Loss: 1.4158 | Train Acc: 56.89%
Test Loss: 1.4397 | Test Acc: 60.28%
Gap (Overfitting): -3.40%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 227.49s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 60.28% (época 57)
================================================================================
Época [57/150] Completada
================================================================================
Train Loss: 1.4158 | Train Acc: 56.89%
Test Loss: 1.4397 | Test Acc: 60.28%
Gap (Overfitting): -3.40%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 227.49s
================================================================================
Epoch [58/150], Step [50/354], Loss: 1.2739, Acc: 60.94%
Epoch [58/150], Step [50/354], Loss: 1.2739, Acc: 60.94%
Epoch [58/150], Step [100/354], Loss: 1.2642, Acc: 59.59%
Epoch [58/150], Step [100/354], Loss: 1.2642, Acc: 59.59%
Epoch [58/150], Step [150/354], Loss: 1.4270, Acc: 58.25%
Epoch [58/150], Step [150/354], Loss: 1.4270, Acc: 58.25%
Epoch [58/150], Step [200/354], Loss: 1.4335, Acc: 57.77%
Epoch [58/150], Step [200/354], Loss: 1.4335, Acc: 57.77%
Epoch [58/150], Step [250/354], Loss: 1.6102, Acc: 57.50%
Epoch [58/150], Step [250/354], Loss: 1.6102, Acc: 57.50%
Epoch [58/150], Step [300/354], Loss: 1.4553, Acc: 57.74%
Epoch [58/150], Step [300/354], Loss: 1.4553, Acc: 57.74%
Epoch [58/150], Step [350/354], Loss: 1.5212, Acc: 57.27%
Epoch [58/150], Step [350/354], Loss: 1.5212, Acc: 57.27%
================================================================================
Época [58/150] Completada
================================================================================
Train Loss: 1.3957 | Train Acc: 57.21%
Test Loss: 1.5278 | Test Acc: 57.42%
Gap (Overfitting): -0.21%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 285.35s
================================================================================
================================================================================
Época [58/150] Completada
================================================================================
Train Loss: 1.3957 | Train Acc: 57.21%
Test Loss: 1.5278 | Test Acc: 57.42%
Gap (Overfitting): -0.21%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 285.35s
================================================================================
Epoch [59/150], Step [50/354], Loss: 1.1435, Acc: 58.38%
Epoch [59/150], Step [50/354], Loss: 1.1435, Acc: 58.38%
Epoch [59/150], Step [100/354], Loss: 1.5951, Acc: 58.34%
Epoch [59/150], Step [100/354], Loss: 1.5951, Acc: 58.34%
Epoch [59/150], Step [150/354], Loss: 1.3348, Acc: 57.79%
Epoch [59/150], Step [150/354], Loss: 1.3348, Acc: 57.79%
Epoch [59/150], Step [200/354], Loss: 1.3592, Acc: 57.78%
Epoch [59/150], Step [200/354], Loss: 1.3592, Acc: 57.78%
Epoch [59/150], Step [250/354], Loss: 1.5911, Acc: 58.06%
Epoch [59/150], Step [250/354], Loss: 1.5911, Acc: 58.06%
Epoch [59/150], Step [300/354], Loss: 1.3927, Acc: 58.05%
Epoch [59/150], Step [300/354], Loss: 1.3927, Acc: 58.05%
Epoch [59/150], Step [350/354], Loss: 1.2413, Acc: 57.82%
Epoch [59/150], Step [350/354], Loss: 1.2413, Acc: 57.82%
================================================================================
Época [59/150] Completada
================================================================================
Train Loss: 1.3767 | Train Acc: 57.83%
Test Loss: 1.4610 | Test Acc: 57.81%
Gap (Overfitting): 0.02%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 282.97s
================================================================================
================================================================================
Época [59/150] Completada
================================================================================
Train Loss: 1.3767 | Train Acc: 57.83%
Test Loss: 1.4610 | Test Acc: 57.81%
Gap (Overfitting): 0.02%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 282.97s
================================================================================
Epoch [60/150], Step [50/354], Loss: 1.2284, Acc: 57.00%
Epoch [60/150], Step [50/354], Loss: 1.2284, Acc: 57.00%
Epoch [60/150], Step [100/354], Loss: 1.2032, Acc: 56.91%
Epoch [60/150], Step [100/354], Loss: 1.2032, Acc: 56.91%
Epoch [60/150], Step [150/354], Loss: 1.0525, Acc: 57.02%
Epoch [60/150], Step [150/354], Loss: 1.0525, Acc: 57.02%
Epoch [60/150], Step [200/354], Loss: 1.8777, Acc: 56.72%
Epoch [60/150], Step [200/354], Loss: 1.8777, Acc: 56.72%
Epoch [60/150], Step [250/354], Loss: 1.2019, Acc: 57.11%
Epoch [60/150], Step [250/354], Loss: 1.2019, Acc: 57.11%
Epoch [60/150], Step [300/354], Loss: 2.0605, Acc: 56.95%
Epoch [60/150], Step [300/354], Loss: 2.0605, Acc: 56.95%
Epoch [60/150], Step [350/354], Loss: 1.4131, Acc: 56.94%
Epoch [60/150], Step [350/354], Loss: 1.4131, Acc: 56.94%
================================================================================
Época [60/150] Completada
================================================================================
Train Loss: 1.3991 | Train Acc: 56.85%
Test Loss: 1.4538 | Test Acc: 58.80%
Gap (Overfitting): -1.95%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 241.82s
================================================================================
================================================================================
Época [60/150] Completada
================================================================================
Train Loss: 1.3991 | Train Acc: 56.85%
Test Loss: 1.4538 | Test Acc: 58.80%
Gap (Overfitting): -1.95%
Mejor Test Acc hasta ahora: 60.28% (época 57)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 241.82s
================================================================================
Epoch [61/150], Step [50/354], Loss: 1.4974, Acc: 58.75%
Epoch [61/150], Step [50/354], Loss: 1.4974, Acc: 58.75%
Epoch [61/150], Step [100/354], Loss: 1.8651, Acc: 58.12%
Epoch [61/150], Step [100/354], Loss: 1.8651, Acc: 58.12%
Epoch [61/150], Step [150/354], Loss: 1.0702, Acc: 58.23%
Epoch [61/150], Step [150/354], Loss: 1.0702, Acc: 58.23%
Epoch [61/150], Step [200/354], Loss: 1.1997, Acc: 58.27%
Epoch [61/150], Step [200/354], Loss: 1.1997, Acc: 58.27%
Epoch [61/150], Step [250/354], Loss: 1.1895, Acc: 58.12%
Epoch [61/150], Step [250/354], Loss: 1.1895, Acc: 58.12%
Epoch [61/150], Step [300/354], Loss: 1.8733, Acc: 57.64%
Epoch [61/150], Step [300/354], Loss: 1.8733, Acc: 57.64%
Epoch [61/150], Step [350/354], Loss: 0.9886, Acc: 57.76%
Epoch [61/150], Step [350/354], Loss: 0.9886, Acc: 57.76%
✓ Nuevo mejor modelo guardado: Test Acc = 60.32% (época 61)
================================================================================
Época [61/150] Completada
================================================================================
Train Loss: 1.3785 | Train Acc: 57.73%
Test Loss: 1.4469 | Test Acc: 60.32%
Gap (Overfitting): -2.59%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 271.64s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 60.32% (época 61)
================================================================================
Época [61/150] Completada
================================================================================
Train Loss: 1.3785 | Train Acc: 57.73%
Test Loss: 1.4469 | Test Acc: 60.32%
Gap (Overfitting): -2.59%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 271.64s
================================================================================
Epoch [62/150], Step [50/354], Loss: 1.5895, Acc: 58.69%
Epoch [62/150], Step [50/354], Loss: 1.5895, Acc: 58.69%
Epoch [62/150], Step [100/354], Loss: 1.9608, Acc: 59.28%
Epoch [62/150], Step [100/354], Loss: 1.9608, Acc: 59.28%
Epoch [62/150], Step [150/354], Loss: 0.9624, Acc: 59.67%
Epoch [62/150], Step [150/354], Loss: 0.9624, Acc: 59.67%
Epoch [62/150], Step [200/354], Loss: 1.3788, Acc: 59.61%
Epoch [62/150], Step [200/354], Loss: 1.3788, Acc: 59.61%
Epoch [62/150], Step [250/354], Loss: 1.4573, Acc: 58.77%
Epoch [62/150], Step [250/354], Loss: 1.4573, Acc: 58.77%
Epoch [62/150], Step [300/354], Loss: 1.2482, Acc: 58.90%
Epoch [62/150], Step [300/354], Loss: 1.2482, Acc: 58.90%
Epoch [62/150], Step [350/354], Loss: 0.7780, Acc: 58.87%
Epoch [62/150], Step [350/354], Loss: 0.7780, Acc: 58.87%
================================================================================
Época [62/150] Completada
================================================================================
Train Loss: 1.3568 | Train Acc: 58.87%
Test Loss: 1.5458 | Test Acc: 58.52%
Gap (Overfitting): 0.35%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 286.96s
================================================================================
================================================================================
Época [62/150] Completada
================================================================================
Train Loss: 1.3568 | Train Acc: 58.87%
Test Loss: 1.5458 | Test Acc: 58.52%
Gap (Overfitting): 0.35%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 286.96s
================================================================================
Epoch [63/150], Step [50/354], Loss: 1.4102, Acc: 58.62%
Epoch [63/150], Step [50/354], Loss: 1.4102, Acc: 58.62%
Epoch [63/150], Step [100/354], Loss: 1.2201, Acc: 58.09%
Epoch [63/150], Step [100/354], Loss: 1.2201, Acc: 58.09%
Epoch [63/150], Step [150/354], Loss: 1.6869, Acc: 58.52%
Epoch [63/150], Step [150/354], Loss: 1.6869, Acc: 58.52%
Epoch [63/150], Step [200/354], Loss: 1.4634, Acc: 58.41%
Epoch [63/150], Step [200/354], Loss: 1.4634, Acc: 58.41%
Epoch [63/150], Step [250/354], Loss: 0.8307, Acc: 58.74%
Epoch [63/150], Step [250/354], Loss: 0.8307, Acc: 58.74%
Epoch [63/150], Step [300/354], Loss: 1.4550, Acc: 59.03%
Epoch [63/150], Step [300/354], Loss: 1.4550, Acc: 59.03%
Epoch [63/150], Step [350/354], Loss: 1.5008, Acc: 59.05%
Epoch [63/150], Step [350/354], Loss: 1.5008, Acc: 59.05%
================================================================================
Época [63/150] Completada
================================================================================
Train Loss: 1.3387 | Train Acc: 59.05%
Test Loss: 1.5829 | Test Acc: 57.31%
Gap (Overfitting): 1.74%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 286.77s
================================================================================
================================================================================
Época [63/150] Completada
================================================================================
Train Loss: 1.3387 | Train Acc: 59.05%
Test Loss: 1.5829 | Test Acc: 57.31%
Gap (Overfitting): 1.74%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 286.77s
================================================================================
Epoch [64/150], Step [50/354], Loss: 1.3630, Acc: 60.31%
Epoch [64/150], Step [50/354], Loss: 1.3630, Acc: 60.31%
Epoch [64/150], Step [100/354], Loss: 1.1096, Acc: 60.62%
Epoch [64/150], Step [100/354], Loss: 1.1096, Acc: 60.62%
Epoch [64/150], Step [150/354], Loss: 1.0529, Acc: 60.81%
Epoch [64/150], Step [150/354], Loss: 1.0529, Acc: 60.81%
Epoch [64/150], Step [200/354], Loss: 1.2638, Acc: 60.12%
Epoch [64/150], Step [200/354], Loss: 1.2638, Acc: 60.12%
Epoch [64/150], Step [250/354], Loss: 1.4766, Acc: 59.65%
Epoch [64/150], Step [250/354], Loss: 1.4766, Acc: 59.65%
Epoch [64/150], Step [300/354], Loss: 1.1301, Acc: 59.40%
Epoch [64/150], Step [300/354], Loss: 1.1301, Acc: 59.40%
Epoch [64/150], Step [350/354], Loss: 1.1361, Acc: 59.18%
Epoch [64/150], Step [350/354], Loss: 1.1361, Acc: 59.18%
================================================================================
Época [64/150] Completada
================================================================================
Train Loss: 1.3379 | Train Acc: 59.18%
Test Loss: 1.4549 | Test Acc: 59.43%
Gap (Overfitting): -0.25%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 299.49s
================================================================================
================================================================================
Época [64/150] Completada
================================================================================
Train Loss: 1.3379 | Train Acc: 59.18%
Test Loss: 1.4549 | Test Acc: 59.43%
Gap (Overfitting): -0.25%
Mejor Test Acc hasta ahora: 60.32% (época 61)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 299.49s
================================================================================
Epoch [65/150], Step [50/354], Loss: 1.5009, Acc: 58.19%
Epoch [65/150], Step [50/354], Loss: 1.5009, Acc: 58.19%
Epoch [65/150], Step [100/354], Loss: 1.3042, Acc: 57.59%
Epoch [65/150], Step [100/354], Loss: 1.3042, Acc: 57.59%
Epoch [65/150], Step [150/354], Loss: 1.3334, Acc: 59.27%
Epoch [65/150], Step [150/354], Loss: 1.3334, Acc: 59.27%
Epoch [65/150], Step [200/354], Loss: 1.1179, Acc: 58.91%
Epoch [65/150], Step [200/354], Loss: 1.1179, Acc: 58.91%
Epoch [65/150], Step [250/354], Loss: 1.8752, Acc: 59.12%
Epoch [65/150], Step [250/354], Loss: 1.8752, Acc: 59.12%
Epoch [65/150], Step [300/354], Loss: 1.5167, Acc: 58.76%
Epoch [65/150], Step [300/354], Loss: 1.5167, Acc: 58.76%
Epoch [65/150], Step [350/354], Loss: 0.9006, Acc: 58.62%
Epoch [65/150], Step [350/354], Loss: 0.9006, Acc: 58.62%
✓ Nuevo mejor modelo guardado: Test Acc = 60.95% (época 65)
================================================================================
Época [65/150] Completada
================================================================================
Train Loss: 1.3462 | Train Acc: 58.63%
Test Loss: 1.3864 | Test Acc: 60.95%
Gap (Overfitting): -2.33%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 290.06s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 60.95% (época 65)
================================================================================
Época [65/150] Completada
================================================================================
Train Loss: 1.3462 | Train Acc: 58.63%
Test Loss: 1.3864 | Test Acc: 60.95%
Gap (Overfitting): -2.33%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 290.06s
================================================================================
Epoch [66/150], Step [50/354], Loss: 1.2718, Acc: 59.62%
Epoch [66/150], Step [50/354], Loss: 1.2718, Acc: 59.62%
Epoch [66/150], Step [100/354], Loss: 1.6432, Acc: 58.91%
Epoch [66/150], Step [100/354], Loss: 1.6432, Acc: 58.91%
Epoch [66/150], Step [150/354], Loss: 1.4733, Acc: 58.48%
Epoch [66/150], Step [150/354], Loss: 1.4733, Acc: 58.48%
Epoch [66/150], Step [200/354], Loss: 1.2442, Acc: 58.70%
Epoch [66/150], Step [200/354], Loss: 1.2442, Acc: 58.70%
Epoch [66/150], Step [250/354], Loss: 1.0518, Acc: 58.98%
Epoch [66/150], Step [250/354], Loss: 1.0518, Acc: 58.98%
Epoch [66/150], Step [300/354], Loss: 1.3403, Acc: 59.21%
Epoch [66/150], Step [300/354], Loss: 1.3403, Acc: 59.21%
Epoch [66/150], Step [350/354], Loss: 1.1503, Acc: 58.92%
Epoch [66/150], Step [350/354], Loss: 1.1503, Acc: 58.92%
================================================================================
Época [66/150] Completada
================================================================================
Train Loss: 1.3217 | Train Acc: 58.98%
Test Loss: 1.4613 | Test Acc: 59.89%
Gap (Overfitting): -0.91%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 280.14s
================================================================================
================================================================================
Época [66/150] Completada
================================================================================
Train Loss: 1.3217 | Train Acc: 58.98%
Test Loss: 1.4613 | Test Acc: 59.89%
Gap (Overfitting): -0.91%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 280.14s
================================================================================
Epoch [67/150], Step [50/354], Loss: 1.0636, Acc: 58.62%
Epoch [67/150], Step [50/354], Loss: 1.0636, Acc: 58.62%
Epoch [67/150], Step [100/354], Loss: 1.6746, Acc: 59.78%
Epoch [67/150], Step [100/354], Loss: 1.6746, Acc: 59.78%
Epoch [67/150], Step [150/354], Loss: 0.9985, Acc: 59.73%
Epoch [67/150], Step [150/354], Loss: 0.9985, Acc: 59.73%
Epoch [67/150], Step [200/354], Loss: 1.2055, Acc: 59.70%
Epoch [67/150], Step [200/354], Loss: 1.2055, Acc: 59.70%
Epoch [67/150], Step [250/354], Loss: 1.5471, Acc: 59.60%
Epoch [67/150], Step [250/354], Loss: 1.5471, Acc: 59.60%
Epoch [67/150], Step [300/354], Loss: 1.6871, Acc: 59.42%
Epoch [67/150], Step [300/354], Loss: 1.6871, Acc: 59.42%
Epoch [67/150], Step [350/354], Loss: 1.3090, Acc: 59.59%
Epoch [67/150], Step [350/354], Loss: 1.3090, Acc: 59.59%
================================================================================
Época [67/150] Completada
================================================================================
Train Loss: 1.3162 | Train Acc: 59.57%
Test Loss: 1.5064 | Test Acc: 60.95%
Gap (Overfitting): -1.38%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 284.80s
================================================================================
================================================================================
Época [67/150] Completada
================================================================================
Train Loss: 1.3162 | Train Acc: 59.57%
Test Loss: 1.5064 | Test Acc: 60.95%
Gap (Overfitting): -1.38%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 2/15
Learning Rate actual: 1.00e-04
Tiempo de época: 284.80s
================================================================================
Epoch [68/150], Step [50/354], Loss: 1.2731, Acc: 62.62%
Epoch [68/150], Step [50/354], Loss: 1.2731, Acc: 62.62%
Epoch [68/150], Step [100/354], Loss: 1.6915, Acc: 60.78%
Epoch [68/150], Step [100/354], Loss: 1.6915, Acc: 60.78%
Epoch [68/150], Step [150/354], Loss: 1.2762, Acc: 60.98%
Epoch [68/150], Step [150/354], Loss: 1.2762, Acc: 60.98%
Epoch [68/150], Step [200/354], Loss: 1.1980, Acc: 60.70%
Epoch [68/150], Step [200/354], Loss: 1.1980, Acc: 60.70%
Epoch [68/150], Step [250/354], Loss: 1.4731, Acc: 60.52%
Epoch [68/150], Step [250/354], Loss: 1.4731, Acc: 60.52%
Epoch [68/150], Step [300/354], Loss: 1.4986, Acc: 60.44%
Epoch [68/150], Step [300/354], Loss: 1.4986, Acc: 60.44%
Epoch [68/150], Step [350/354], Loss: 1.7693, Acc: 60.36%
Epoch [68/150], Step [350/354], Loss: 1.7693, Acc: 60.36%
================================================================================
Época [68/150] Completada
================================================================================
Train Loss: 1.2976 | Train Acc: 60.35%
Test Loss: 1.5370 | Test Acc: 58.69%
Gap (Overfitting): 1.66%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 305.42s
================================================================================
================================================================================
Época [68/150] Completada
================================================================================
Train Loss: 1.2976 | Train Acc: 60.35%
Test Loss: 1.5370 | Test Acc: 58.69%
Gap (Overfitting): 1.66%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 3/15
Learning Rate actual: 1.00e-04
Tiempo de época: 305.42s
================================================================================
Epoch [69/150], Step [50/354], Loss: 1.3446, Acc: 60.12%
Epoch [69/150], Step [50/354], Loss: 1.3446, Acc: 60.12%
Epoch [69/150], Step [100/354], Loss: 0.7121, Acc: 60.16%
Epoch [69/150], Step [100/354], Loss: 0.7121, Acc: 60.16%
Epoch [69/150], Step [150/354], Loss: 1.3961, Acc: 60.00%
Epoch [69/150], Step [150/354], Loss: 1.3961, Acc: 60.00%
Epoch [69/150], Step [200/354], Loss: 1.3596, Acc: 59.81%
Epoch [69/150], Step [200/354], Loss: 1.3596, Acc: 59.81%
Epoch [69/150], Step [250/354], Loss: 1.2280, Acc: 60.61%
Epoch [69/150], Step [250/354], Loss: 1.2280, Acc: 60.61%
Epoch [69/150], Step [300/354], Loss: 1.0645, Acc: 60.50%
Epoch [69/150], Step [300/354], Loss: 1.0645, Acc: 60.50%
Epoch [69/150], Step [350/354], Loss: 1.5294, Acc: 60.46%
Epoch [69/150], Step [350/354], Loss: 1.5294, Acc: 60.46%
================================================================================
Época [69/150] Completada
================================================================================
Train Loss: 1.2909 | Train Acc: 60.47%
Test Loss: 1.5230 | Test Acc: 59.89%
Gap (Overfitting): 0.58%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 4/15
Learning Rate actual: 1.00e-04
Tiempo de época: 294.85s
================================================================================
================================================================================
Época [69/150] Completada
================================================================================
Train Loss: 1.2909 | Train Acc: 60.47%
Test Loss: 1.5230 | Test Acc: 59.89%
Gap (Overfitting): 0.58%
Mejor Test Acc hasta ahora: 60.95% (época 65)
Épocas sin mejora: 4/15
Learning Rate actual: 1.00e-04
Tiempo de época: 294.85s
================================================================================
Epoch [70/150], Step [50/354], Loss: 1.1290, Acc: 59.19%
Epoch [70/150], Step [50/354], Loss: 1.1290, Acc: 59.19%
Epoch [70/150], Step [100/354], Loss: 1.4880, Acc: 59.91%
Epoch [70/150], Step [100/354], Loss: 1.4880, Acc: 59.91%
Epoch [70/150], Step [150/354], Loss: 1.2289, Acc: 60.67%
Epoch [70/150], Step [150/354], Loss: 1.2289, Acc: 60.67%
Epoch [70/150], Step [200/354], Loss: 1.5577, Acc: 60.23%
Epoch [70/150], Step [200/354], Loss: 1.5577, Acc: 60.23%
Epoch [70/150], Step [250/354], Loss: 1.0563, Acc: 60.34%
Epoch [70/150], Step [250/354], Loss: 1.0563, Acc: 60.34%
Epoch [70/150], Step [300/354], Loss: 1.0629, Acc: 60.41%
Epoch [70/150], Step [300/354], Loss: 1.0629, Acc: 60.41%
Epoch [70/150], Step [350/354], Loss: 1.5480, Acc: 60.01%
Epoch [70/150], Step [350/354], Loss: 1.5480, Acc: 60.01%
✓ Nuevo mejor modelo guardado: Test Acc = 61.70% (época 70)
================================================================================
Época [70/150] Completada
================================================================================
Train Loss: 1.3105 | Train Acc: 60.00%
Test Loss: 1.4026 | Test Acc: 61.70%
Gap (Overfitting): -1.70%
Mejor Test Acc hasta ahora: 61.70% (época 70)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 305.70s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 61.70% (época 70)
================================================================================
Época [70/150] Completada
================================================================================
Train Loss: 1.3105 | Train Acc: 60.00%
Test Loss: 1.4026 | Test Acc: 61.70%
Gap (Overfitting): -1.70%
Mejor Test Acc hasta ahora: 61.70% (época 70)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 305.70s
================================================================================
Epoch [71/150], Step [50/354], Loss: 1.6430, Acc: 61.12%
Epoch [71/150], Step [50/354], Loss: 1.6430, Acc: 61.12%
Epoch [71/150], Step [100/354], Loss: 1.5039, Acc: 60.88%
Epoch [71/150], Step [100/354], Loss: 1.5039, Acc: 60.88%
Epoch [71/150], Step [150/354], Loss: 1.7950, Acc: 60.58%
Epoch [71/150], Step [150/354], Loss: 1.7950, Acc: 60.58%
Epoch [71/150], Step [200/354], Loss: 1.1506, Acc: 61.00%
Epoch [71/150], Step [200/354], Loss: 1.1506, Acc: 61.00%
Epoch [71/150], Step [250/354], Loss: 1.2342, Acc: 60.95%
Epoch [71/150], Step [250/354], Loss: 1.2342, Acc: 60.95%
Epoch [71/150], Step [300/354], Loss: 1.0492, Acc: 60.86%
Epoch [71/150], Step [300/354], Loss: 1.0492, Acc: 60.86%
Epoch [71/150], Step [350/354], Loss: 1.4636, Acc: 60.46%
Epoch [71/150], Step [350/354], Loss: 1.4636, Acc: 60.46%
================================================================================
Época [71/150] Completada
================================================================================
Train Loss: 1.2874 | Train Acc: 60.41%
Test Loss: 1.4230 | Test Acc: 61.06%
Gap (Overfitting): -0.65%
Mejor Test Acc hasta ahora: 61.70% (época 70)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 248.03s
================================================================================
================================================================================
Época [71/150] Completada
================================================================================
Train Loss: 1.2874 | Train Acc: 60.41%
Test Loss: 1.4230 | Test Acc: 61.06%
Gap (Overfitting): -0.65%
Mejor Test Acc hasta ahora: 61.70% (época 70)
Épocas sin mejora: 1/15
Learning Rate actual: 1.00e-04
Tiempo de época: 248.03s
================================================================================
Epoch [72/150], Step [50/354], Loss: 1.0899, Acc: 61.19%
Epoch [72/150], Step [50/354], Loss: 1.0899, Acc: 61.19%
Epoch [72/150], Step [100/354], Loss: 1.1540, Acc: 60.09%
Epoch [72/150], Step [100/354], Loss: 1.1540, Acc: 60.09%
Epoch [72/150], Step [150/354], Loss: 1.3019, Acc: 60.21%
Epoch [72/150], Step [150/354], Loss: 1.3019, Acc: 60.21%
Epoch [72/150], Step [200/354], Loss: 0.8170, Acc: 60.66%
Epoch [72/150], Step [200/354], Loss: 0.8170, Acc: 60.66%
Epoch [72/150], Step [250/354], Loss: 1.0937, Acc: 60.59%
Epoch [72/150], Step [250/354], Loss: 1.0937, Acc: 60.59%
Epoch [72/150], Step [300/354], Loss: 1.3047, Acc: 60.66%
Epoch [72/150], Step [300/354], Loss: 1.3047, Acc: 60.66%
Epoch [72/150], Step [350/354], Loss: 1.3425, Acc: 60.58%
Epoch [72/150], Step [350/354], Loss: 1.3425, Acc: 60.58%
✓ Nuevo mejor modelo guardado: Test Acc = 61.87% (época 72)
================================================================================
Época [72/150] Completada
================================================================================
Train Loss: 1.2706 | Train Acc: 60.52%
Test Loss: 1.4119 | Test Acc: 61.87%
Gap (Overfitting): -1.36%
Mejor Test Acc hasta ahora: 61.87% (época 72)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 283.41s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 61.87% (época 72)
================================================================================
Época [72/150] Completada
================================================================================
Train Loss: 1.2706 | Train Acc: 60.52%
Test Loss: 1.4119 | Test Acc: 61.87%
Gap (Overfitting): -1.36%
Mejor Test Acc hasta ahora: 61.87% (época 72)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 283.41s
================================================================================
Epoch [73/150], Step [50/354], Loss: 1.2551, Acc: 60.81%
Epoch [73/150], Step [50/354], Loss: 1.2551, Acc: 60.81%
Epoch [73/150], Step [100/354], Loss: 1.7369, Acc: 60.91%
Epoch [73/150], Step [100/354], Loss: 1.7369, Acc: 60.91%
Epoch [73/150], Step [150/354], Loss: 1.3374, Acc: 61.71%
Epoch [73/150], Step [150/354], Loss: 1.3374, Acc: 61.71%
Epoch [73/150], Step [200/354], Loss: 1.2079, Acc: 61.84%
Epoch [73/150], Step [200/354], Loss: 1.2079, Acc: 61.84%
Epoch [73/150], Step [250/354], Loss: 1.2148, Acc: 61.21%
Epoch [73/150], Step [250/354], Loss: 1.2148, Acc: 61.21%
Epoch [73/150], Step [300/354], Loss: 1.7590, Acc: 60.73%
Epoch [73/150], Step [300/354], Loss: 1.7590, Acc: 60.73%
Epoch [73/150], Step [350/354], Loss: 1.1569, Acc: 60.59%
Epoch [73/150], Step [350/354], Loss: 1.1569, Acc: 60.59%
✓ Nuevo mejor modelo guardado: Test Acc = 61.94% (época 73)
================================================================================
Época [73/150] Completada
================================================================================
Train Loss: 1.2587 | Train Acc: 60.63%
Test Loss: 1.4314 | Test Acc: 61.94%
Gap (Overfitting): -1.31%
Mejor Test Acc hasta ahora: 61.94% (época 73)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 293.04s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 61.94% (época 73)
================================================================================
Época [73/150] Completada
================================================================================
Train Loss: 1.2587 | Train Acc: 60.63%
Test Loss: 1.4314 | Test Acc: 61.94%
Gap (Overfitting): -1.31%
Mejor Test Acc hasta ahora: 61.94% (época 73)
Épocas sin mejora: 0/15
Learning Rate actual: 1.00e-04
Tiempo de época: 293.04s
================================================================================
Epoch [74/150], Step [50/354], Loss: 1.1793, Acc: 61.94%
Epoch [74/150], Step [50/354], Loss: 1.1793, Acc: 61.94%
Epoch [74/150], Step [100/354], Loss: 1.7864, Acc: 61.72%
Epoch [74/150], Step [100/354], Loss: 1.7864, Acc: 61.72%
Epoch [74/150], Step [150/354], Loss: 0.7418, Acc: 62.02%
Epoch [74/150], Step [150/354], Loss: 0.7418, Acc: 62.02%
Epoch [74/150], Step [200/354], Loss: 1.0828, Acc: 61.91%
Epoch [74/150], Step [200/354], Loss: 1.0828, Acc: 61.91%
Epoch [74/150], Step [250/354], Loss: 0.9035, Acc: 61.61%
Epoch [74/150], Step [250/354], Loss: 0.9035, Acc: 61.61%
Epoch [74/150], Step [300/354], Loss: 1.9955, Acc: 61.57%
Epoch [74/150], Step [300/354], Loss: 1.9955, Acc: 61.57%
Epoch [74/150], Step [350/354], Loss: 1.3232, Acc: 61.55%
Epoch [74/150], Step [350/354], Loss: 1.3232, Acc: 61.55%
================================================================================
Época [74/150] Completada
================================================================================
Train Loss: 1.2603 | Train Acc: 61.54%
Test Loss: 1.4158 | Test Acc: 61.55%
Gap (Overfitting): -0.01%
Mejor Test Acc hasta ahora: 61.94% (época 73)
Épocas sin mejora: 1/15
Learning Rate actual: 5.00e-05
Tiempo de época: 276.05s
================================================================================
================================================================================
Época [74/150] Completada
================================================================================
Train Loss: 1.2603 | Train Acc: 61.54%
Test Loss: 1.4158 | Test Acc: 61.55%
Gap (Overfitting): -0.01%
Mejor Test Acc hasta ahora: 61.94% (época 73)
Épocas sin mejora: 1/15
Learning Rate actual: 5.00e-05
Tiempo de época: 276.05s
================================================================================
Epoch [75/150], Step [50/354], Loss: 0.8686, Acc: 65.31%
Epoch [75/150], Step [50/354], Loss: 0.8686, Acc: 65.31%
Epoch [75/150], Step [100/354], Loss: 1.4177, Acc: 65.06%
Epoch [75/150], Step [100/354], Loss: 1.4177, Acc: 65.06%
Epoch [75/150], Step [150/354], Loss: 0.9928, Acc: 65.29%
Epoch [75/150], Step [150/354], Loss: 0.9928, Acc: 65.29%
Epoch [75/150], Step [200/354], Loss: 1.2230, Acc: 64.89%
Epoch [75/150], Step [200/354], Loss: 1.2230, Acc: 64.89%
Epoch [75/150], Step [250/354], Loss: 1.2856, Acc: 64.65%
Epoch [75/150], Step [250/354], Loss: 1.2856, Acc: 64.65%
Epoch [75/150], Step [300/354], Loss: 1.1562, Acc: 64.31%
Epoch [75/150], Step [300/354], Loss: 1.1562, Acc: 64.31%
Epoch [75/150], Step [350/354], Loss: 1.5696, Acc: 64.38%
Epoch [75/150], Step [350/354], Loss: 1.5696, Acc: 64.38%
✓ Nuevo mejor modelo guardado: Test Acc = 62.97% (época 75)
================================================================================
Época [75/150] Completada
================================================================================
Train Loss: 1.1574 | Train Acc: 64.37%
Test Loss: 1.3484 | Test Acc: 62.97%
Gap (Overfitting): 1.40%
Mejor Test Acc hasta ahora: 62.97% (época 75)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 282.37s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 62.97% (época 75)
================================================================================
Época [75/150] Completada
================================================================================
Train Loss: 1.1574 | Train Acc: 64.37%
Test Loss: 1.3484 | Test Acc: 62.97%
Gap (Overfitting): 1.40%
Mejor Test Acc hasta ahora: 62.97% (época 75)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 282.37s
================================================================================
Epoch [76/150], Step [50/354], Loss: 1.3819, Acc: 64.19%
Epoch [76/150], Step [50/354], Loss: 1.3819, Acc: 64.19%
Epoch [76/150], Step [100/354], Loss: 1.4340, Acc: 65.34%
Epoch [76/150], Step [100/354], Loss: 1.4340, Acc: 65.34%
Epoch [76/150], Step [150/354], Loss: 1.4940, Acc: 64.65%
Epoch [76/150], Step [150/354], Loss: 1.4940, Acc: 64.65%
Epoch [76/150], Step [200/354], Loss: 1.1907, Acc: 64.66%
Epoch [76/150], Step [200/354], Loss: 1.1907, Acc: 64.66%
Epoch [76/150], Step [250/354], Loss: 1.1859, Acc: 65.21%
Epoch [76/150], Step [250/354], Loss: 1.1859, Acc: 65.21%
Epoch [76/150], Step [300/354], Loss: 1.0201, Acc: 65.06%
Epoch [76/150], Step [300/354], Loss: 1.0201, Acc: 65.06%
Epoch [76/150], Step [350/354], Loss: 1.2185, Acc: 65.45%
Epoch [76/150], Step [350/354], Loss: 1.2185, Acc: 65.45%
✓ Nuevo mejor modelo guardado: Test Acc = 63.43% (época 76)
================================================================================
Época [76/150] Completada
================================================================================
Train Loss: 1.1109 | Train Acc: 65.40%
Test Loss: 1.3866 | Test Acc: 63.43%
Gap (Overfitting): 1.98%
Mejor Test Acc hasta ahora: 63.43% (época 76)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 297.30s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 63.43% (época 76)
================================================================================
Época [76/150] Completada
================================================================================
Train Loss: 1.1109 | Train Acc: 65.40%
Test Loss: 1.3866 | Test Acc: 63.43%
Gap (Overfitting): 1.98%
Mejor Test Acc hasta ahora: 63.43% (época 76)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 297.30s
================================================================================
Epoch [77/150], Step [50/354], Loss: 1.3668, Acc: 67.62%
Epoch [77/150], Step [50/354], Loss: 1.3668, Acc: 67.62%
Epoch [77/150], Step [100/354], Loss: 1.2615, Acc: 66.44%
Epoch [77/150], Step [100/354], Loss: 1.2615, Acc: 66.44%
Epoch [77/150], Step [150/354], Loss: 1.0988, Acc: 66.29%
Epoch [77/150], Step [150/354], Loss: 1.0988, Acc: 66.29%
Epoch [77/150], Step [200/354], Loss: 0.9324, Acc: 65.92%
Epoch [77/150], Step [200/354], Loss: 0.9324, Acc: 65.92%
Epoch [77/150], Step [250/354], Loss: 1.2476, Acc: 65.54%
Epoch [77/150], Step [250/354], Loss: 1.2476, Acc: 65.54%
Epoch [77/150], Step [300/354], Loss: 1.1756, Acc: 64.94%
Epoch [77/150], Step [300/354], Loss: 1.1756, Acc: 64.94%
Epoch [77/150], Step [350/354], Loss: 1.1553, Acc: 65.08%
Epoch [77/150], Step [350/354], Loss: 1.1553, Acc: 65.08%
✓ Nuevo mejor modelo guardado: Test Acc = 64.20% (época 77)
================================================================================
Época [77/150] Completada
================================================================================
Train Loss: 1.1219 | Train Acc: 65.10%
Test Loss: 1.3512 | Test Acc: 64.20%
Gap (Overfitting): 0.90%
Mejor Test Acc hasta ahora: 64.20% (época 77)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 331.54s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 64.20% (época 77)
================================================================================
Época [77/150] Completada
================================================================================
Train Loss: 1.1219 | Train Acc: 65.10%
Test Loss: 1.3512 | Test Acc: 64.20%
Gap (Overfitting): 0.90%
Mejor Test Acc hasta ahora: 64.20% (época 77)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 331.54s
================================================================================
Epoch [78/150], Step [50/354], Loss: 1.1338, Acc: 66.06%
Epoch [78/150], Step [50/354], Loss: 1.1338, Acc: 66.06%
Epoch [78/150], Step [100/354], Loss: 1.3387, Acc: 66.03%
Epoch [78/150], Step [100/354], Loss: 1.3387, Acc: 66.03%
Epoch [78/150], Step [150/354], Loss: 1.0223, Acc: 66.27%
Epoch [78/150], Step [150/354], Loss: 1.0223, Acc: 66.27%
Epoch [78/150], Step [200/354], Loss: 1.1392, Acc: 66.12%
Epoch [78/150], Step [200/354], Loss: 1.1392, Acc: 66.12%
Epoch [78/150], Step [250/354], Loss: 1.2037, Acc: 65.81%
Epoch [78/150], Step [250/354], Loss: 1.2037, Acc: 65.81%
Epoch [78/150], Step [300/354], Loss: 1.1940, Acc: 65.52%
Epoch [78/150], Step [300/354], Loss: 1.1940, Acc: 65.52%
Epoch [78/150], Step [350/354], Loss: 1.2723, Acc: 65.25%
Epoch [78/150], Step [350/354], Loss: 1.2723, Acc: 65.25%
================================================================================
Época [78/150] Completada
================================================================================
Train Loss: 1.1179 | Train Acc: 65.25%
Test Loss: 1.4018 | Test Acc: 63.78%
Gap (Overfitting): 1.47%
Mejor Test Acc hasta ahora: 64.20% (época 77)
Épocas sin mejora: 1/15
Learning Rate actual: 5.00e-05
Tiempo de época: 340.70s
================================================================================
================================================================================
Época [78/150] Completada
================================================================================
Train Loss: 1.1179 | Train Acc: 65.25%
Test Loss: 1.4018 | Test Acc: 63.78%
Gap (Overfitting): 1.47%
Mejor Test Acc hasta ahora: 64.20% (época 77)
Épocas sin mejora: 1/15
Learning Rate actual: 5.00e-05
Tiempo de época: 340.70s
================================================================================
Epoch [79/150], Step [50/354], Loss: 1.3165, Acc: 67.19%
Epoch [79/150], Step [50/354], Loss: 1.3165, Acc: 67.19%
Epoch [79/150], Step [100/354], Loss: 1.1640, Acc: 66.59%
Epoch [79/150], Step [100/354], Loss: 1.1640, Acc: 66.59%
Epoch [79/150], Step [150/354], Loss: 1.4773, Acc: 65.88%
Epoch [79/150], Step [150/354], Loss: 1.4773, Acc: 65.88%
Epoch [79/150], Step [200/354], Loss: 0.8662, Acc: 65.78%
Epoch [79/150], Step [200/354], Loss: 0.8662, Acc: 65.78%
Epoch [79/150], Step [250/354], Loss: 1.3187, Acc: 65.64%
Epoch [79/150], Step [250/354], Loss: 1.3187, Acc: 65.64%
Epoch [79/150], Step [300/354], Loss: 1.4122, Acc: 65.83%
Epoch [79/150], Step [300/354], Loss: 1.4122, Acc: 65.83%
Epoch [79/150], Step [350/354], Loss: 1.3037, Acc: 65.94%
Epoch [79/150], Step [350/354], Loss: 1.3037, Acc: 65.94%
✓ Nuevo mejor modelo guardado: Test Acc = 64.59% (época 79)
================================================================================
Época [79/150] Completada
================================================================================
Train Loss: 1.0901 | Train Acc: 65.89%
Test Loss: 1.3477 | Test Acc: 64.59%
Gap (Overfitting): 1.30%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 337.70s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 64.59% (época 79)
================================================================================
Época [79/150] Completada
================================================================================
Train Loss: 1.0901 | Train Acc: 65.89%
Test Loss: 1.3477 | Test Acc: 64.59%
Gap (Overfitting): 1.30%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 0/15
Learning Rate actual: 5.00e-05
Tiempo de época: 337.70s
================================================================================
Epoch [80/150], Step [50/354], Loss: 0.8106, Acc: 66.81%
Epoch [80/150], Step [50/354], Loss: 0.8106, Acc: 66.81%
Epoch [80/150], Step [100/354], Loss: 1.2303, Acc: 66.53%
Epoch [80/150], Step [100/354], Loss: 1.2303, Acc: 66.53%
Epoch [80/150], Step [150/354], Loss: 1.6490, Acc: 66.15%
Epoch [80/150], Step [150/354], Loss: 1.6490, Acc: 66.15%
Epoch [80/150], Step [200/354], Loss: 1.4966, Acc: 66.22%
Epoch [80/150], Step [200/354], Loss: 1.4966, Acc: 66.22%
Epoch [80/150], Step [250/354], Loss: 1.2388, Acc: 66.31%
Epoch [80/150], Step [250/354], Loss: 1.2388, Acc: 66.31%
Epoch [80/150], Step [300/354], Loss: 0.7990, Acc: 66.11%
Epoch [80/150], Step [300/354], Loss: 0.7990, Acc: 66.11%
Epoch [80/150], Step [350/354], Loss: 1.0249, Acc: 66.12%
Epoch [80/150], Step [350/354], Loss: 1.0249, Acc: 66.12%
================================================================================
Época [80/150] Completada
================================================================================
Train Loss: 1.0904 | Train Acc: 66.07%
Test Loss: 1.3936 | Test Acc: 63.00%
Gap (Overfitting): 3.07%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 1/15
Learning Rate actual: 5.00e-05
Tiempo de época: 360.41s
================================================================================
================================================================================
Época [80/150] Completada
================================================================================
Train Loss: 1.0904 | Train Acc: 66.07%
Test Loss: 1.3936 | Test Acc: 63.00%
Gap (Overfitting): 3.07%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 1/15
Learning Rate actual: 5.00e-05
Tiempo de época: 360.41s
================================================================================
Epoch [81/150], Step [50/354], Loss: 0.6588, Acc: 67.31%
Epoch [81/150], Step [50/354], Loss: 0.6588, Acc: 67.31%
Epoch [81/150], Step [100/354], Loss: 1.2840, Acc: 66.81%
Epoch [81/150], Step [100/354], Loss: 1.2840, Acc: 66.81%
Epoch [81/150], Step [150/354], Loss: 0.9222, Acc: 65.92%
Epoch [81/150], Step [150/354], Loss: 0.9222, Acc: 65.92%
Epoch [81/150], Step [200/354], Loss: 0.7977, Acc: 66.39%
Epoch [81/150], Step [200/354], Loss: 0.7977, Acc: 66.39%
Epoch [81/150], Step [250/354], Loss: 1.3105, Acc: 65.99%
Epoch [81/150], Step [250/354], Loss: 1.3105, Acc: 65.99%
Epoch [81/150], Step [300/354], Loss: 0.8053, Acc: 65.73%
Epoch [81/150], Step [300/354], Loss: 0.8053, Acc: 65.73%
Epoch [81/150], Step [350/354], Loss: 0.9687, Acc: 65.90%
Epoch [81/150], Step [350/354], Loss: 0.9687, Acc: 65.90%
================================================================================
Época [81/150] Completada
================================================================================
Train Loss: 1.0856 | Train Acc: 65.93%
Test Loss: 1.4668 | Test Acc: 62.51%
Gap (Overfitting): 3.42%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 2/15
Learning Rate actual: 5.00e-05
Tiempo de época: 359.41s
================================================================================
================================================================================
Época [81/150] Completada
================================================================================
Train Loss: 1.0856 | Train Acc: 65.93%
Test Loss: 1.4668 | Test Acc: 62.51%
Gap (Overfitting): 3.42%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 2/15
Learning Rate actual: 5.00e-05
Tiempo de época: 359.41s
================================================================================
Epoch [82/150], Step [50/354], Loss: 1.2395, Acc: 64.06%
Epoch [82/150], Step [50/354], Loss: 1.2395, Acc: 64.06%
Epoch [82/150], Step [100/354], Loss: 1.1583, Acc: 65.22%
Epoch [82/150], Step [100/354], Loss: 1.1583, Acc: 65.22%
Epoch [82/150], Step [150/354], Loss: 1.0424, Acc: 65.52%
Epoch [82/150], Step [150/354], Loss: 1.0424, Acc: 65.52%
Epoch [82/150], Step [200/354], Loss: 1.0367, Acc: 65.73%
Epoch [82/150], Step [200/354], Loss: 1.0367, Acc: 65.73%
Epoch [82/150], Step [250/354], Loss: 1.5992, Acc: 65.61%
Epoch [82/150], Step [250/354], Loss: 1.5992, Acc: 65.61%
Epoch [82/150], Step [300/354], Loss: 1.2803, Acc: 66.10%
Epoch [82/150], Step [300/354], Loss: 1.2803, Acc: 66.10%
Epoch [82/150], Step [350/354], Loss: 1.2089, Acc: 66.02%
Epoch [82/150], Step [350/354], Loss: 1.2089, Acc: 66.02%
================================================================================
Época [82/150] Completada
================================================================================
Train Loss: 1.0801 | Train Acc: 66.04%
Test Loss: 1.4224 | Test Acc: 63.11%
Gap (Overfitting): 2.93%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 3/15
Learning Rate actual: 5.00e-05
Tiempo de época: 337.40s
================================================================================
================================================================================
Época [82/150] Completada
================================================================================
Train Loss: 1.0801 | Train Acc: 66.04%
Test Loss: 1.4224 | Test Acc: 63.11%
Gap (Overfitting): 2.93%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 3/15
Learning Rate actual: 5.00e-05
Tiempo de época: 337.40s
================================================================================
Epoch [83/150], Step [50/354], Loss: 0.9766, Acc: 66.56%
Epoch [83/150], Step [50/354], Loss: 0.9766, Acc: 66.56%
Epoch [83/150], Step [100/354], Loss: 0.8466, Acc: 66.53%
Epoch [83/150], Step [100/354], Loss: 0.8466, Acc: 66.53%
Epoch [83/150], Step [150/354], Loss: 1.2883, Acc: 66.48%
Epoch [83/150], Step [150/354], Loss: 1.2883, Acc: 66.48%
Epoch [83/150], Step [200/354], Loss: 1.1579, Acc: 66.53%
Epoch [83/150], Step [200/354], Loss: 1.1579, Acc: 66.53%
Epoch [83/150], Step [250/354], Loss: 1.5780, Acc: 66.34%
Epoch [83/150], Step [250/354], Loss: 1.5780, Acc: 66.34%
Epoch [83/150], Step [300/354], Loss: 0.9889, Acc: 66.46%
Epoch [83/150], Step [300/354], Loss: 0.9889, Acc: 66.46%
Epoch [83/150], Step [350/354], Loss: 1.2784, Acc: 66.60%
Epoch [83/150], Step [350/354], Loss: 1.2784, Acc: 66.60%
================================================================================
Época [83/150] Completada
================================================================================
Train Loss: 1.0736 | Train Acc: 66.62%
Test Loss: 1.4610 | Test Acc: 63.32%
Gap (Overfitting): 3.30%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 4/15
Learning Rate actual: 5.00e-05
Tiempo de época: 325.81s
================================================================================
================================================================================
Época [83/150] Completada
================================================================================
Train Loss: 1.0736 | Train Acc: 66.62%
Test Loss: 1.4610 | Test Acc: 63.32%
Gap (Overfitting): 3.30%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 4/15
Learning Rate actual: 5.00e-05
Tiempo de época: 325.81s
================================================================================
Epoch [84/150], Step [50/354], Loss: 1.3281, Acc: 66.88%
Epoch [84/150], Step [50/354], Loss: 1.3281, Acc: 66.88%
Epoch [84/150], Step [100/354], Loss: 0.9993, Acc: 67.38%
Epoch [84/150], Step [100/354], Loss: 0.9993, Acc: 67.38%
Epoch [84/150], Step [150/354], Loss: 0.8213, Acc: 67.65%
Epoch [84/150], Step [150/354], Loss: 0.8213, Acc: 67.65%
Epoch [84/150], Step [200/354], Loss: 0.7475, Acc: 67.58%
Epoch [84/150], Step [200/354], Loss: 0.7475, Acc: 67.58%
Epoch [84/150], Step [250/354], Loss: 1.5039, Acc: 66.92%
Epoch [84/150], Step [250/354], Loss: 1.5039, Acc: 66.92%
Epoch [84/150], Step [300/354], Loss: 1.2217, Acc: 66.45%
Epoch [84/150], Step [300/354], Loss: 1.2217, Acc: 66.45%
Epoch [84/150], Step [350/354], Loss: 1.0152, Acc: 66.49%
Epoch [84/150], Step [350/354], Loss: 1.0152, Acc: 66.49%
================================================================================
Época [84/150] Completada
================================================================================
Train Loss: 1.0692 | Train Acc: 66.53%
Test Loss: 1.4904 | Test Acc: 63.60%
Gap (Overfitting): 2.92%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 5/15
Learning Rate actual: 5.00e-05
Tiempo de época: 324.65s
================================================================================
================================================================================
Época [84/150] Completada
================================================================================
Train Loss: 1.0692 | Train Acc: 66.53%
Test Loss: 1.4904 | Test Acc: 63.60%
Gap (Overfitting): 2.92%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 5/15
Learning Rate actual: 5.00e-05
Tiempo de época: 324.65s
================================================================================
Epoch [85/150], Step [50/354], Loss: 0.7642, Acc: 67.25%
Epoch [85/150], Step [50/354], Loss: 0.7642, Acc: 67.25%
Epoch [85/150], Step [100/354], Loss: 0.9123, Acc: 67.09%
Epoch [85/150], Step [100/354], Loss: 0.9123, Acc: 67.09%
Epoch [85/150], Step [150/354], Loss: 0.8742, Acc: 66.58%
Epoch [85/150], Step [150/354], Loss: 0.8742, Acc: 66.58%
Epoch [85/150], Step [200/354], Loss: 0.8979, Acc: 66.73%
Epoch [85/150], Step [200/354], Loss: 0.8979, Acc: 66.73%
Epoch [85/150], Step [250/354], Loss: 1.1315, Acc: 66.74%
Epoch [85/150], Step [250/354], Loss: 1.1315, Acc: 66.74%
Epoch [85/150], Step [300/354], Loss: 1.4617, Acc: 66.85%
Epoch [85/150], Step [300/354], Loss: 1.4617, Acc: 66.85%
Epoch [85/150], Step [350/354], Loss: 0.7968, Acc: 66.69%
Epoch [85/150], Step [350/354], Loss: 0.7968, Acc: 66.69%
================================================================================
Época [85/150] Completada
================================================================================
Train Loss: 1.0567 | Train Acc: 66.67%
Test Loss: 1.4593 | Test Acc: 63.04%
Gap (Overfitting): 3.63%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 6/15
Learning Rate actual: 5.00e-05
Tiempo de época: 328.76s
================================================================================
================================================================================
Época [85/150] Completada
================================================================================
Train Loss: 1.0567 | Train Acc: 66.67%
Test Loss: 1.4593 | Test Acc: 63.04%
Gap (Overfitting): 3.63%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 6/15
Learning Rate actual: 5.00e-05
Tiempo de época: 328.76s
================================================================================
Epoch [86/150], Step [50/354], Loss: 0.6419, Acc: 67.12%
Epoch [86/150], Step [50/354], Loss: 0.6419, Acc: 67.12%
Epoch [86/150], Step [100/354], Loss: 0.9229, Acc: 66.81%
Epoch [86/150], Step [100/354], Loss: 0.9229, Acc: 66.81%
Epoch [86/150], Step [150/354], Loss: 0.9135, Acc: 67.42%
Epoch [86/150], Step [150/354], Loss: 0.9135, Acc: 67.42%
Epoch [86/150], Step [200/354], Loss: 0.9722, Acc: 67.16%
Epoch [86/150], Step [200/354], Loss: 0.9722, Acc: 67.16%
Epoch [86/150], Step [250/354], Loss: 0.7472, Acc: 67.26%
Epoch [86/150], Step [250/354], Loss: 0.7472, Acc: 67.26%
Epoch [86/150], Step [300/354], Loss: 0.9481, Acc: 67.01%
Epoch [86/150], Step [300/354], Loss: 0.9481, Acc: 67.01%
Epoch [86/150], Step [350/354], Loss: 0.9863, Acc: 66.87%
Epoch [86/150], Step [350/354], Loss: 0.9863, Acc: 66.87%
================================================================================
Época [86/150] Completada
================================================================================
Train Loss: 1.0541 | Train Acc: 66.89%
Test Loss: 1.4011 | Test Acc: 64.31%
Gap (Overfitting): 2.58%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 7/15
Learning Rate actual: 5.00e-05
Tiempo de época: 328.61s
================================================================================
================================================================================
Época [86/150] Completada
================================================================================
Train Loss: 1.0541 | Train Acc: 66.89%
Test Loss: 1.4011 | Test Acc: 64.31%
Gap (Overfitting): 2.58%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 7/15
Learning Rate actual: 5.00e-05
Tiempo de época: 328.61s
================================================================================
Epoch [87/150], Step [50/354], Loss: 0.9831, Acc: 67.75%
Epoch [87/150], Step [50/354], Loss: 0.9831, Acc: 67.75%
Epoch [87/150], Step [100/354], Loss: 0.7534, Acc: 67.06%
Epoch [87/150], Step [100/354], Loss: 0.7534, Acc: 67.06%
Epoch [87/150], Step [150/354], Loss: 1.1691, Acc: 66.92%
Epoch [87/150], Step [150/354], Loss: 1.1691, Acc: 66.92%
Epoch [87/150], Step [200/354], Loss: 0.8822, Acc: 67.41%
Epoch [87/150], Step [200/354], Loss: 0.8822, Acc: 67.41%
Epoch [87/150], Step [250/354], Loss: 1.2250, Acc: 67.36%
Epoch [87/150], Step [250/354], Loss: 1.2250, Acc: 67.36%
Epoch [87/150], Step [300/354], Loss: 1.1183, Acc: 67.53%
Epoch [87/150], Step [300/354], Loss: 1.1183, Acc: 67.53%
Epoch [87/150], Step [350/354], Loss: 0.9487, Acc: 67.49%
Epoch [87/150], Step [350/354], Loss: 0.9487, Acc: 67.49%
================================================================================
Época [87/150] Completada
================================================================================
Train Loss: 1.0387 | Train Acc: 67.51%
Test Loss: 1.4436 | Test Acc: 63.75%
Gap (Overfitting): 3.76%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 8/15
Learning Rate actual: 5.00e-05
Tiempo de época: 328.57s
================================================================================
================================================================================
Época [87/150] Completada
================================================================================
Train Loss: 1.0387 | Train Acc: 67.51%
Test Loss: 1.4436 | Test Acc: 63.75%
Gap (Overfitting): 3.76%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 8/15
Learning Rate actual: 5.00e-05
Tiempo de época: 328.57s
================================================================================
Epoch [88/150], Step [50/354], Loss: 0.9355, Acc: 66.31%
Epoch [88/150], Step [50/354], Loss: 0.9355, Acc: 66.31%
Epoch [88/150], Step [100/354], Loss: 1.1670, Acc: 67.66%
Epoch [88/150], Step [100/354], Loss: 1.1670, Acc: 67.66%
Epoch [88/150], Step [150/354], Loss: 0.8753, Acc: 67.69%
Epoch [88/150], Step [150/354], Loss: 0.8753, Acc: 67.69%
Epoch [88/150], Step [200/354], Loss: 1.4988, Acc: 67.67%
Epoch [88/150], Step [200/354], Loss: 1.4988, Acc: 67.67%
Epoch [88/150], Step [250/354], Loss: 0.8394, Acc: 67.64%
Epoch [88/150], Step [250/354], Loss: 0.8394, Acc: 67.64%
Epoch [88/150], Step [300/354], Loss: 1.3035, Acc: 67.51%
Epoch [88/150], Step [300/354], Loss: 1.3035, Acc: 67.51%
Epoch [88/150], Step [350/354], Loss: 1.1779, Acc: 67.32%
Epoch [88/150], Step [350/354], Loss: 1.1779, Acc: 67.32%
================================================================================
Época [88/150] Completada
================================================================================
Train Loss: 1.0479 | Train Acc: 67.33%
Test Loss: 1.4319 | Test Acc: 63.99%
Gap (Overfitting): 3.34%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 9/15
Learning Rate actual: 2.50e-05
Tiempo de época: 328.38s
================================================================================
================================================================================
Época [88/150] Completada
================================================================================
Train Loss: 1.0479 | Train Acc: 67.33%
Test Loss: 1.4319 | Test Acc: 63.99%
Gap (Overfitting): 3.34%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 9/15
Learning Rate actual: 2.50e-05
Tiempo de época: 328.38s
================================================================================
Epoch [89/150], Step [50/354], Loss: 0.9859, Acc: 69.19%
Epoch [89/150], Step [50/354], Loss: 0.9859, Acc: 69.19%
Epoch [89/150], Step [100/354], Loss: 0.7799, Acc: 68.97%
Epoch [89/150], Step [100/354], Loss: 0.7799, Acc: 68.97%
Epoch [89/150], Step [150/354], Loss: 0.9367, Acc: 69.31%
Epoch [89/150], Step [150/354], Loss: 0.9367, Acc: 69.31%
Epoch [89/150], Step [200/354], Loss: 1.6326, Acc: 69.62%
Epoch [89/150], Step [200/354], Loss: 1.6326, Acc: 69.62%
Epoch [89/150], Step [250/354], Loss: 0.8756, Acc: 69.60%
Epoch [89/150], Step [250/354], Loss: 0.8756, Acc: 69.60%
Epoch [89/150], Step [300/354], Loss: 1.0996, Acc: 69.74%
Epoch [89/150], Step [300/354], Loss: 1.0996, Acc: 69.74%
Epoch [89/150], Step [350/354], Loss: 0.9485, Acc: 69.68%
Epoch [89/150], Step [350/354], Loss: 0.9485, Acc: 69.68%
================================================================================
Época [89/150] Completada
================================================================================
Train Loss: 0.9775 | Train Acc: 69.65%
Test Loss: 1.4163 | Test Acc: 64.20%
Gap (Overfitting): 5.45%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 10/15
Learning Rate actual: 2.50e-05
Tiempo de época: 327.99s
================================================================================
================================================================================
Época [89/150] Completada
================================================================================
Train Loss: 0.9775 | Train Acc: 69.65%
Test Loss: 1.4163 | Test Acc: 64.20%
Gap (Overfitting): 5.45%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 10/15
Learning Rate actual: 2.50e-05
Tiempo de época: 327.99s
================================================================================
Epoch [90/150], Step [50/354], Loss: 1.2807, Acc: 67.38%
Epoch [90/150], Step [50/354], Loss: 1.2807, Acc: 67.38%
Epoch [90/150], Step [100/354], Loss: 0.8725, Acc: 68.91%
Epoch [90/150], Step [100/354], Loss: 0.8725, Acc: 68.91%
Epoch [90/150], Step [150/354], Loss: 0.9740, Acc: 69.29%
Epoch [90/150], Step [150/354], Loss: 0.9740, Acc: 69.29%
Epoch [90/150], Step [200/354], Loss: 0.6306, Acc: 69.70%
Epoch [90/150], Step [200/354], Loss: 0.6306, Acc: 69.70%
Epoch [90/150], Step [250/354], Loss: 1.1141, Acc: 69.59%
Epoch [90/150], Step [250/354], Loss: 1.1141, Acc: 69.59%
Epoch [90/150], Step [300/354], Loss: 1.2651, Acc: 69.90%
Epoch [90/150], Step [300/354], Loss: 1.2651, Acc: 69.90%
Epoch [90/150], Step [350/354], Loss: 1.2867, Acc: 69.79%
Epoch [90/150], Step [350/354], Loss: 1.2867, Acc: 69.79%
================================================================================
Época [90/150] Completada
================================================================================
Train Loss: 0.9653 | Train Acc: 69.79%
Test Loss: 1.4137 | Test Acc: 64.56%
Gap (Overfitting): 5.23%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 11/15
Learning Rate actual: 2.50e-05
Tiempo de época: 328.23s
================================================================================
================================================================================
Época [90/150] Completada
================================================================================
Train Loss: 0.9653 | Train Acc: 69.79%
Test Loss: 1.4137 | Test Acc: 64.56%
Gap (Overfitting): 5.23%
Mejor Test Acc hasta ahora: 64.59% (época 79)
Épocas sin mejora: 11/15
Learning Rate actual: 2.50e-05
Tiempo de época: 328.23s
================================================================================
Epoch [91/150], Step [50/354], Loss: 1.4938, Acc: 68.62%
Epoch [91/150], Step [50/354], Loss: 1.4938, Acc: 68.62%
Epoch [91/150], Step [100/354], Loss: 1.1614, Acc: 70.06%
Epoch [91/150], Step [100/354], Loss: 1.1614, Acc: 70.06%
Epoch [91/150], Step [150/354], Loss: 0.8372, Acc: 69.52%
Epoch [91/150], Step [150/354], Loss: 0.8372, Acc: 69.52%
Epoch [91/150], Step [200/354], Loss: 1.2504, Acc: 69.34%
Epoch [91/150], Step [200/354], Loss: 1.2504, Acc: 69.34%
Epoch [91/150], Step [250/354], Loss: 0.7935, Acc: 69.39%
Epoch [91/150], Step [250/354], Loss: 0.7935, Acc: 69.39%
Epoch [91/150], Step [300/354], Loss: 1.1373, Acc: 69.49%
Epoch [91/150], Step [300/354], Loss: 1.1373, Acc: 69.49%
Epoch [91/150], Step [350/354], Loss: 1.1304, Acc: 69.31%
Epoch [91/150], Step [350/354], Loss: 1.1304, Acc: 69.31%
✓ Nuevo mejor modelo guardado: Test Acc = 64.88% (época 91)
================================================================================
Época [91/150] Completada
================================================================================
Train Loss: 0.9748 | Train Acc: 69.27%
Test Loss: 1.3901 | Test Acc: 64.88%
Gap (Overfitting): 4.40%
Mejor Test Acc hasta ahora: 64.88% (época 91)
Épocas sin mejora: 0/15
Learning Rate actual: 2.50e-05
Tiempo de época: 325.45s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 64.88% (época 91)
================================================================================
Época [91/150] Completada
================================================================================
Train Loss: 0.9748 | Train Acc: 69.27%
Test Loss: 1.3901 | Test Acc: 64.88%
Gap (Overfitting): 4.40%
Mejor Test Acc hasta ahora: 64.88% (época 91)
Épocas sin mejora: 0/15
Learning Rate actual: 2.50e-05
Tiempo de época: 325.45s
================================================================================
Epoch [92/150], Step [50/354], Loss: 1.0524, Acc: 68.31%
Epoch [92/150], Step [50/354], Loss: 1.0524, Acc: 68.31%
Epoch [92/150], Step [100/354], Loss: 1.0381, Acc: 69.78%
Epoch [92/150], Step [100/354], Loss: 1.0381, Acc: 69.78%
Epoch [92/150], Step [150/354], Loss: 1.1708, Acc: 69.79%
Epoch [92/150], Step [150/354], Loss: 1.1708, Acc: 69.79%
Epoch [92/150], Step [200/354], Loss: 0.7069, Acc: 70.05%
Epoch [92/150], Step [200/354], Loss: 0.7069, Acc: 70.05%
Epoch [92/150], Step [250/354], Loss: 0.9202, Acc: 70.28%
Epoch [92/150], Step [250/354], Loss: 0.9202, Acc: 70.28%
Epoch [92/150], Step [300/354], Loss: 0.8959, Acc: 69.88%
Epoch [92/150], Step [300/354], Loss: 0.8959, Acc: 69.88%
Epoch [92/150], Step [350/354], Loss: 1.1255, Acc: 69.80%
Epoch [92/150], Step [350/354], Loss: 1.1255, Acc: 69.80%
✓ Nuevo mejor modelo guardado: Test Acc = 65.23% (época 92)
================================================================================
Época [92/150] Completada
================================================================================
Train Loss: 0.9563 | Train Acc: 69.79%
Test Loss: 1.4003 | Test Acc: 65.23%
Gap (Overfitting): 4.56%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 0/15
Learning Rate actual: 2.50e-05
Tiempo de época: 378.15s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 65.23% (época 92)
================================================================================
Época [92/150] Completada
================================================================================
Train Loss: 0.9563 | Train Acc: 69.79%
Test Loss: 1.4003 | Test Acc: 65.23%
Gap (Overfitting): 4.56%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 0/15
Learning Rate actual: 2.50e-05
Tiempo de época: 378.15s
================================================================================
Epoch [93/150], Step [50/354], Loss: 1.2543, Acc: 69.06%
Epoch [93/150], Step [50/354], Loss: 1.2543, Acc: 69.06%
Epoch [93/150], Step [100/354], Loss: 1.3390, Acc: 69.09%
Epoch [93/150], Step [100/354], Loss: 1.3390, Acc: 69.09%
Epoch [93/150], Step [150/354], Loss: 1.0388, Acc: 69.56%
Epoch [93/150], Step [150/354], Loss: 1.0388, Acc: 69.56%
Epoch [93/150], Step [200/354], Loss: 1.1798, Acc: 69.64%
Epoch [93/150], Step [200/354], Loss: 1.1798, Acc: 69.64%
Epoch [93/150], Step [250/354], Loss: 0.9660, Acc: 69.60%
Epoch [93/150], Step [250/354], Loss: 0.9660, Acc: 69.60%
Epoch [93/150], Step [300/354], Loss: 0.9507, Acc: 69.44%
Epoch [93/150], Step [300/354], Loss: 0.9507, Acc: 69.44%
Epoch [93/150], Step [350/354], Loss: 1.0564, Acc: 69.37%
Epoch [93/150], Step [350/354], Loss: 1.0564, Acc: 69.37%
================================================================================
Época [93/150] Completada
================================================================================
Train Loss: 0.9652 | Train Acc: 69.39%
Test Loss: 1.4353 | Test Acc: 64.10%
Gap (Overfitting): 5.29%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 1/15
Learning Rate actual: 2.50e-05
Tiempo de época: 358.66s
================================================================================
================================================================================
Época [93/150] Completada
================================================================================
Train Loss: 0.9652 | Train Acc: 69.39%
Test Loss: 1.4353 | Test Acc: 64.10%
Gap (Overfitting): 5.29%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 1/15
Learning Rate actual: 2.50e-05
Tiempo de época: 358.66s
================================================================================
Epoch [94/150], Step [50/354], Loss: 1.1087, Acc: 72.69%
Epoch [94/150], Step [50/354], Loss: 1.1087, Acc: 72.69%
Epoch [94/150], Step [100/354], Loss: 0.7784, Acc: 71.66%
Epoch [94/150], Step [100/354], Loss: 0.7784, Acc: 71.66%
Epoch [94/150], Step [150/354], Loss: 0.7211, Acc: 70.98%
Epoch [94/150], Step [150/354], Loss: 0.7211, Acc: 70.98%
Epoch [94/150], Step [200/354], Loss: 0.7646, Acc: 70.83%
Epoch [94/150], Step [200/354], Loss: 0.7646, Acc: 70.83%
Epoch [94/150], Step [250/354], Loss: 0.9638, Acc: 70.55%
Epoch [94/150], Step [250/354], Loss: 0.9638, Acc: 70.55%
Epoch [94/150], Step [300/354], Loss: 1.1962, Acc: 70.32%
Epoch [94/150], Step [300/354], Loss: 1.1962, Acc: 70.32%
Epoch [94/150], Step [350/354], Loss: 1.2221, Acc: 70.29%
Epoch [94/150], Step [350/354], Loss: 1.2221, Acc: 70.29%
================================================================================
Época [94/150] Completada
================================================================================
Train Loss: 0.9526 | Train Acc: 70.24%
Test Loss: 1.4002 | Test Acc: 64.91%
Gap (Overfitting): 5.32%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 2/15
Learning Rate actual: 2.50e-05
Tiempo de época: 357.92s
================================================================================
================================================================================
Época [94/150] Completada
================================================================================
Train Loss: 0.9526 | Train Acc: 70.24%
Test Loss: 1.4002 | Test Acc: 64.91%
Gap (Overfitting): 5.32%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 2/15
Learning Rate actual: 2.50e-05
Tiempo de época: 357.92s
================================================================================
Epoch [95/150], Step [50/354], Loss: 1.1751, Acc: 69.19%
Epoch [95/150], Step [50/354], Loss: 1.1751, Acc: 69.19%
Epoch [95/150], Step [100/354], Loss: 1.0204, Acc: 69.69%
Epoch [95/150], Step [100/354], Loss: 1.0204, Acc: 69.69%
Epoch [95/150], Step [150/354], Loss: 0.8117, Acc: 69.94%
Epoch [95/150], Step [150/354], Loss: 0.8117, Acc: 69.94%
Epoch [95/150], Step [200/354], Loss: 0.9781, Acc: 70.28%
Epoch [95/150], Step [200/354], Loss: 0.9781, Acc: 70.28%
Epoch [95/150], Step [250/354], Loss: 1.0939, Acc: 70.16%
Epoch [95/150], Step [250/354], Loss: 1.0939, Acc: 70.16%
Epoch [95/150], Step [300/354], Loss: 1.4658, Acc: 70.11%
Epoch [95/150], Step [300/354], Loss: 1.4658, Acc: 70.11%
Epoch [95/150], Step [350/354], Loss: 0.8528, Acc: 70.16%
Epoch [95/150], Step [350/354], Loss: 0.8528, Acc: 70.16%
================================================================================
Época [95/150] Completada
================================================================================
Train Loss: 0.9507 | Train Acc: 70.13%
Test Loss: 1.4155 | Test Acc: 64.35%
Gap (Overfitting): 5.78%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 3/15
Learning Rate actual: 2.50e-05
Tiempo de época: 373.24s
================================================================================
================================================================================
Época [95/150] Completada
================================================================================
Train Loss: 0.9507 | Train Acc: 70.13%
Test Loss: 1.4155 | Test Acc: 64.35%
Gap (Overfitting): 5.78%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 3/15
Learning Rate actual: 2.50e-05
Tiempo de época: 373.24s
================================================================================
Epoch [96/150], Step [50/354], Loss: 1.0948, Acc: 71.00%
Epoch [96/150], Step [50/354], Loss: 1.0948, Acc: 71.00%
Epoch [96/150], Step [100/354], Loss: 1.1889, Acc: 70.28%
Epoch [96/150], Step [100/354], Loss: 1.1889, Acc: 70.28%
Epoch [96/150], Step [150/354], Loss: 1.1397, Acc: 70.06%
Epoch [96/150], Step [150/354], Loss: 1.1397, Acc: 70.06%
Epoch [96/150], Step [200/354], Loss: 0.9261, Acc: 70.28%
Epoch [96/150], Step [200/354], Loss: 0.9261, Acc: 70.28%
Epoch [96/150], Step [250/354], Loss: 0.9964, Acc: 70.59%
Epoch [96/150], Step [250/354], Loss: 0.9964, Acc: 70.59%
Epoch [96/150], Step [300/354], Loss: 0.8649, Acc: 70.29%
Epoch [96/150], Step [300/354], Loss: 0.8649, Acc: 70.29%
Epoch [96/150], Step [350/354], Loss: 1.4088, Acc: 70.13%
Epoch [96/150], Step [350/354], Loss: 1.4088, Acc: 70.13%
================================================================================
Época [96/150] Completada
================================================================================
Train Loss: 0.9541 | Train Acc: 70.10%
Test Loss: 1.3896 | Test Acc: 64.73%
Gap (Overfitting): 5.37%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 4/15
Learning Rate actual: 2.50e-05
Tiempo de época: 365.77s
================================================================================
================================================================================
Época [96/150] Completada
================================================================================
Train Loss: 0.9541 | Train Acc: 70.10%
Test Loss: 1.3896 | Test Acc: 64.73%
Gap (Overfitting): 5.37%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 4/15
Learning Rate actual: 2.50e-05
Tiempo de época: 365.77s
================================================================================
Epoch [97/150], Step [50/354], Loss: 0.7319, Acc: 71.62%
Epoch [97/150], Step [50/354], Loss: 0.7319, Acc: 71.62%
Epoch [97/150], Step [100/354], Loss: 0.8016, Acc: 71.09%
Epoch [97/150], Step [100/354], Loss: 0.8016, Acc: 71.09%
Epoch [97/150], Step [150/354], Loss: 0.9012, Acc: 70.98%
Epoch [97/150], Step [150/354], Loss: 0.9012, Acc: 70.98%
Epoch [97/150], Step [200/354], Loss: 0.9119, Acc: 71.14%
Epoch [97/150], Step [200/354], Loss: 0.9119, Acc: 71.14%
Epoch [97/150], Step [250/354], Loss: 0.4214, Acc: 70.78%
Epoch [97/150], Step [250/354], Loss: 0.4214, Acc: 70.78%
Epoch [97/150], Step [300/354], Loss: 1.2522, Acc: 70.55%
Epoch [97/150], Step [300/354], Loss: 1.2522, Acc: 70.55%
Epoch [97/150], Step [350/354], Loss: 0.9769, Acc: 70.59%
Epoch [97/150], Step [350/354], Loss: 0.9769, Acc: 70.59%
================================================================================
Época [97/150] Completada
================================================================================
Train Loss: 0.9392 | Train Acc: 70.57%
Test Loss: 1.4262 | Test Acc: 64.56%
Gap (Overfitting): 6.01%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 5/15
Learning Rate actual: 1.25e-05
Tiempo de época: 330.18s
================================================================================
================================================================================
Época [97/150] Completada
================================================================================
Train Loss: 0.9392 | Train Acc: 70.57%
Test Loss: 1.4262 | Test Acc: 64.56%
Gap (Overfitting): 6.01%
Mejor Test Acc hasta ahora: 65.23% (época 92)
Épocas sin mejora: 5/15
Learning Rate actual: 1.25e-05
Tiempo de época: 330.18s
================================================================================
Epoch [98/150], Step [50/354], Loss: 1.0762, Acc: 71.81%
Epoch [98/150], Step [50/354], Loss: 1.0762, Acc: 71.81%
Epoch [98/150], Step [100/354], Loss: 0.9502, Acc: 70.88%
Epoch [98/150], Step [100/354], Loss: 0.9502, Acc: 70.88%
Epoch [98/150], Step [150/354], Loss: 0.9786, Acc: 71.02%
Epoch [98/150], Step [150/354], Loss: 0.9786, Acc: 71.02%
Epoch [98/150], Step [200/354], Loss: 1.2475, Acc: 71.02%
Epoch [98/150], Step [200/354], Loss: 1.2475, Acc: 71.02%
Epoch [98/150], Step [250/354], Loss: 0.7581, Acc: 71.04%
Epoch [98/150], Step [250/354], Loss: 0.7581, Acc: 71.04%
Epoch [98/150], Step [300/354], Loss: 1.4782, Acc: 71.29%
Epoch [98/150], Step [300/354], Loss: 1.4782, Acc: 71.29%
Epoch [98/150], Step [350/354], Loss: 1.0822, Acc: 71.35%
Epoch [98/150], Step [350/354], Loss: 1.0822, Acc: 71.35%
✓ Nuevo mejor modelo guardado: Test Acc = 65.69% (época 98)
================================================================================
Época [98/150] Completada
================================================================================
Train Loss: 0.9047 | Train Acc: 71.34%
Test Loss: 1.4073 | Test Acc: 65.69%
Gap (Overfitting): 5.65%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 0/15
Learning Rate actual: 1.25e-05
Tiempo de época: 317.04s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 65.69% (época 98)
================================================================================
Época [98/150] Completada
================================================================================
Train Loss: 0.9047 | Train Acc: 71.34%
Test Loss: 1.4073 | Test Acc: 65.69%
Gap (Overfitting): 5.65%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 0/15
Learning Rate actual: 1.25e-05
Tiempo de época: 317.04s
================================================================================
Epoch [99/150], Step [50/354], Loss: 0.8116, Acc: 71.75%
Epoch [99/150], Step [50/354], Loss: 0.8116, Acc: 71.75%
Epoch [99/150], Step [100/354], Loss: 1.3653, Acc: 70.81%
Epoch [99/150], Step [100/354], Loss: 1.3653, Acc: 70.81%
Epoch [99/150], Step [150/354], Loss: 0.4502, Acc: 71.40%
Epoch [99/150], Step [150/354], Loss: 0.4502, Acc: 71.40%
Epoch [99/150], Step [200/354], Loss: 0.8433, Acc: 71.25%
Epoch [99/150], Step [200/354], Loss: 0.8433, Acc: 71.25%
Epoch [99/150], Step [250/354], Loss: 1.0374, Acc: 70.92%
Epoch [99/150], Step [250/354], Loss: 1.0374, Acc: 70.92%
Epoch [99/150], Step [300/354], Loss: 0.7866, Acc: 70.98%
Epoch [99/150], Step [300/354], Loss: 0.7866, Acc: 70.98%
Epoch [99/150], Step [350/354], Loss: 0.8870, Acc: 71.05%
Epoch [99/150], Step [350/354], Loss: 0.8870, Acc: 71.05%
================================================================================
Época [99/150] Completada
================================================================================
Train Loss: 0.9015 | Train Acc: 71.00%
Test Loss: 1.4604 | Test Acc: 65.05%
Gap (Overfitting): 5.95%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 1/15
Learning Rate actual: 1.25e-05
Tiempo de época: 364.99s
================================================================================
================================================================================
Época [99/150] Completada
================================================================================
Train Loss: 0.9015 | Train Acc: 71.00%
Test Loss: 1.4604 | Test Acc: 65.05%
Gap (Overfitting): 5.95%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 1/15
Learning Rate actual: 1.25e-05
Tiempo de época: 364.99s
================================================================================
Epoch [100/150], Step [50/354], Loss: 0.8607, Acc: 69.81%
Epoch [100/150], Step [50/354], Loss: 0.8607, Acc: 69.81%
Epoch [100/150], Step [100/354], Loss: 0.8310, Acc: 71.78%
Epoch [100/150], Step [100/354], Loss: 0.8310, Acc: 71.78%
Epoch [100/150], Step [150/354], Loss: 0.8309, Acc: 71.90%
Epoch [100/150], Step [150/354], Loss: 0.8309, Acc: 71.90%
Epoch [100/150], Step [200/354], Loss: 1.0613, Acc: 71.92%
Epoch [100/150], Step [200/354], Loss: 1.0613, Acc: 71.92%
Epoch [100/150], Step [250/354], Loss: 0.9627, Acc: 71.66%
Epoch [100/150], Step [250/354], Loss: 0.9627, Acc: 71.66%
Epoch [100/150], Step [300/354], Loss: 0.5141, Acc: 71.60%
Epoch [100/150], Step [300/354], Loss: 0.5141, Acc: 71.60%
Epoch [100/150], Step [350/354], Loss: 0.7285, Acc: 71.64%
Epoch [100/150], Step [350/354], Loss: 0.7285, Acc: 71.64%
================================================================================
Época [100/150] Completada
================================================================================
Train Loss: 0.8966 | Train Acc: 71.64%
Test Loss: 1.4248 | Test Acc: 65.37%
Gap (Overfitting): 6.27%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 2/15
Learning Rate actual: 1.25e-05
Tiempo de época: 373.78s
================================================================================
================================================================================
Época [100/150] Completada
================================================================================
Train Loss: 0.8966 | Train Acc: 71.64%
Test Loss: 1.4248 | Test Acc: 65.37%
Gap (Overfitting): 6.27%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 2/15
Learning Rate actual: 1.25e-05
Tiempo de época: 373.78s
================================================================================
Epoch [101/150], Step [50/354], Loss: 0.8163, Acc: 71.31%
Epoch [101/150], Step [50/354], Loss: 0.8163, Acc: 71.31%
Epoch [101/150], Step [100/354], Loss: 1.2625, Acc: 71.88%
Epoch [101/150], Step [100/354], Loss: 1.2625, Acc: 71.88%
Epoch [101/150], Step [150/354], Loss: 1.0201, Acc: 71.27%
Epoch [101/150], Step [150/354], Loss: 1.0201, Acc: 71.27%
Epoch [101/150], Step [200/354], Loss: 0.6036, Acc: 71.75%
Epoch [101/150], Step [200/354], Loss: 0.6036, Acc: 71.75%
Epoch [101/150], Step [250/354], Loss: 0.6519, Acc: 71.75%
Epoch [101/150], Step [250/354], Loss: 0.6519, Acc: 71.75%
Epoch [101/150], Step [300/354], Loss: 0.9507, Acc: 71.68%
Epoch [101/150], Step [300/354], Loss: 0.9507, Acc: 71.68%
Epoch [101/150], Step [350/354], Loss: 0.7671, Acc: 71.50%
Epoch [101/150], Step [350/354], Loss: 0.7671, Acc: 71.50%
================================================================================
Época [101/150] Completada
================================================================================
Train Loss: 0.9035 | Train Acc: 71.47%
Test Loss: 1.4334 | Test Acc: 65.23%
Gap (Overfitting): 6.24%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 3/15
Learning Rate actual: 1.25e-05
Tiempo de época: 385.98s
================================================================================
================================================================================
Época [101/150] Completada
================================================================================
Train Loss: 0.9035 | Train Acc: 71.47%
Test Loss: 1.4334 | Test Acc: 65.23%
Gap (Overfitting): 6.24%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 3/15
Learning Rate actual: 1.25e-05
Tiempo de época: 385.98s
================================================================================
Epoch [102/150], Step [50/354], Loss: 1.0898, Acc: 72.81%
Epoch [102/150], Step [50/354], Loss: 1.0898, Acc: 72.81%
Epoch [102/150], Step [100/354], Loss: 0.9129, Acc: 71.81%
Epoch [102/150], Step [100/354], Loss: 0.9129, Acc: 71.81%
Epoch [102/150], Step [150/354], Loss: 0.5976, Acc: 72.10%
Epoch [102/150], Step [150/354], Loss: 0.5976, Acc: 72.10%
Epoch [102/150], Step [200/354], Loss: 0.8662, Acc: 71.92%
Epoch [102/150], Step [200/354], Loss: 0.8662, Acc: 71.92%
Epoch [102/150], Step [250/354], Loss: 1.1250, Acc: 71.81%
Epoch [102/150], Step [250/354], Loss: 1.1250, Acc: 71.81%
Epoch [102/150], Step [300/354], Loss: 0.6207, Acc: 71.82%
Epoch [102/150], Step [300/354], Loss: 0.6207, Acc: 71.82%
Epoch [102/150], Step [350/354], Loss: 1.2679, Acc: 71.49%
Epoch [102/150], Step [350/354], Loss: 1.2679, Acc: 71.49%
================================================================================
Época [102/150] Completada
================================================================================
Train Loss: 0.8987 | Train Acc: 71.50%
Test Loss: 1.4261 | Test Acc: 64.91%
Gap (Overfitting): 6.59%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 4/15
Learning Rate actual: 1.25e-05
Tiempo de época: 373.32s
================================================================================
================================================================================
Época [102/150] Completada
================================================================================
Train Loss: 0.8987 | Train Acc: 71.50%
Test Loss: 1.4261 | Test Acc: 64.91%
Gap (Overfitting): 6.59%
Mejor Test Acc hasta ahora: 65.69% (época 98)
Épocas sin mejora: 4/15
Learning Rate actual: 1.25e-05
Tiempo de época: 373.32s
================================================================================
Epoch [103/150], Step [50/354], Loss: 1.2112, Acc: 71.25%
Epoch [103/150], Step [50/354], Loss: 1.2112, Acc: 71.25%
Epoch [103/150], Step [100/354], Loss: 0.8673, Acc: 71.50%
Epoch [103/150], Step [100/354], Loss: 0.8673, Acc: 71.50%
Epoch [103/150], Step [150/354], Loss: 0.9748, Acc: 71.62%
Epoch [103/150], Step [150/354], Loss: 0.9748, Acc: 71.62%
Epoch [103/150], Step [200/354], Loss: 0.7866, Acc: 71.62%
Epoch [103/150], Step [200/354], Loss: 0.7866, Acc: 71.62%
Epoch [103/150], Step [250/354], Loss: 0.5627, Acc: 71.78%
Epoch [103/150], Step [250/354], Loss: 0.5627, Acc: 71.78%
Epoch [103/150], Step [300/354], Loss: 1.3061, Acc: 71.88%
Epoch [103/150], Step [300/354], Loss: 1.3061, Acc: 71.88%
Epoch [103/150], Step [350/354], Loss: 0.9131, Acc: 71.76%
Epoch [103/150], Step [350/354], Loss: 0.9131, Acc: 71.76%
✓ Nuevo mejor modelo guardado: Test Acc = 66.15% (época 103)
================================================================================
Época [103/150] Completada
================================================================================
Train Loss: 0.8903 | Train Acc: 71.75%
Test Loss: 1.4137 | Test Acc: 66.15%
Gap (Overfitting): 5.60%
Mejor Test Acc hasta ahora: 66.15% (época 103)
Épocas sin mejora: 0/15
Learning Rate actual: 1.25e-05
Tiempo de época: 396.01s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 66.15% (época 103)
================================================================================
Época [103/150] Completada
================================================================================
Train Loss: 0.8903 | Train Acc: 71.75%
Test Loss: 1.4137 | Test Acc: 66.15%
Gap (Overfitting): 5.60%
Mejor Test Acc hasta ahora: 66.15% (época 103)
Épocas sin mejora: 0/15
Learning Rate actual: 1.25e-05
Tiempo de época: 396.01s
================================================================================
Epoch [104/150], Step [50/354], Loss: 0.6371, Acc: 71.50%
Epoch [104/150], Step [50/354], Loss: 0.6371, Acc: 71.50%
Epoch [104/150], Step [100/354], Loss: 0.7831, Acc: 71.25%
Epoch [104/150], Step [100/354], Loss: 0.7831, Acc: 71.25%
Epoch [104/150], Step [150/354], Loss: 0.7747, Acc: 71.04%
Epoch [104/150], Step [150/354], Loss: 0.7747, Acc: 71.04%
Epoch [104/150], Step [200/354], Loss: 0.7280, Acc: 71.78%
Epoch [104/150], Step [200/354], Loss: 0.7280, Acc: 71.78%
Epoch [104/150], Step [250/354], Loss: 0.9065, Acc: 72.04%
Epoch [104/150], Step [250/354], Loss: 0.9065, Acc: 72.04%
Epoch [104/150], Step [300/354], Loss: 0.9143, Acc: 71.97%
Epoch [104/150], Step [300/354], Loss: 0.9143, Acc: 71.97%
Epoch [104/150], Step [350/354], Loss: 0.6960, Acc: 71.94%
Epoch [104/150], Step [350/354], Loss: 0.6960, Acc: 71.94%
================================================================================
Época [104/150] Completada
================================================================================
Train Loss: 0.8773 | Train Acc: 71.92%
Test Loss: 1.4577 | Test Acc: 65.62%
Gap (Overfitting): 6.30%
Mejor Test Acc hasta ahora: 66.15% (época 103)
Épocas sin mejora: 1/15
Learning Rate actual: 1.25e-05
Tiempo de época: 411.22s
================================================================================
================================================================================
Época [104/150] Completada
================================================================================
Train Loss: 0.8773 | Train Acc: 71.92%
Test Loss: 1.4577 | Test Acc: 65.62%
Gap (Overfitting): 6.30%
Mejor Test Acc hasta ahora: 66.15% (época 103)
Épocas sin mejora: 1/15
Learning Rate actual: 1.25e-05
Tiempo de época: 411.22s
================================================================================
Epoch [105/150], Step [50/354], Loss: 1.1740, Acc: 72.38%
Epoch [105/150], Step [50/354], Loss: 1.1740, Acc: 72.38%
Epoch [105/150], Step [100/354], Loss: 0.8703, Acc: 72.41%
Epoch [105/150], Step [100/354], Loss: 0.8703, Acc: 72.41%
Epoch [105/150], Step [150/354], Loss: 1.1119, Acc: 72.83%
Epoch [105/150], Step [150/354], Loss: 1.1119, Acc: 72.83%
Epoch [105/150], Step [200/354], Loss: 1.0313, Acc: 72.92%
Epoch [105/150], Step [200/354], Loss: 1.0313, Acc: 72.92%
Epoch [105/150], Step [250/354], Loss: 0.9928, Acc: 72.54%
Epoch [105/150], Step [250/354], Loss: 0.9928, Acc: 72.54%
Epoch [105/150], Step [300/354], Loss: 0.5467, Acc: 72.65%
Epoch [105/150], Step [300/354], Loss: 0.5467, Acc: 72.65%
Epoch [105/150], Step [350/354], Loss: 0.8982, Acc: 72.57%
Epoch [105/150], Step [350/354], Loss: 0.8982, Acc: 72.57%
✓ Nuevo mejor modelo guardado: Test Acc = 66.25% (época 105)
================================================================================
Época [105/150] Completada
================================================================================
Train Loss: 0.8724 | Train Acc: 72.55%
Test Loss: 1.4409 | Test Acc: 66.25%
Gap (Overfitting): 6.30%
Mejor Test Acc hasta ahora: 66.25% (época 105)
Épocas sin mejora: 0/15
Learning Rate actual: 1.25e-05
Tiempo de época: 462.32s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 66.25% (época 105)
================================================================================
Época [105/150] Completada
================================================================================
Train Loss: 0.8724 | Train Acc: 72.55%
Test Loss: 1.4409 | Test Acc: 66.25%
Gap (Overfitting): 6.30%
Mejor Test Acc hasta ahora: 66.25% (época 105)
Épocas sin mejora: 0/15
Learning Rate actual: 1.25e-05
Tiempo de época: 462.32s
================================================================================
Epoch [106/150], Step [50/354], Loss: 0.8838, Acc: 72.31%
Epoch [106/150], Step [50/354], Loss: 0.8838, Acc: 72.31%
Epoch [106/150], Step [100/354], Loss: 0.8758, Acc: 72.28%
Epoch [106/150], Step [100/354], Loss: 0.8758, Acc: 72.28%
Epoch [106/150], Step [150/354], Loss: 1.4375, Acc: 72.50%
Epoch [106/150], Step [150/354], Loss: 1.4375, Acc: 72.50%
Epoch [106/150], Step [200/354], Loss: 1.2687, Acc: 72.22%
Epoch [106/150], Step [200/354], Loss: 1.2687, Acc: 72.22%
Epoch [106/150], Step [250/354], Loss: 1.0879, Acc: 72.17%
Epoch [106/150], Step [250/354], Loss: 1.0879, Acc: 72.17%
Epoch [106/150], Step [300/354], Loss: 0.9865, Acc: 72.07%
Epoch [106/150], Step [300/354], Loss: 0.9865, Acc: 72.07%
Epoch [106/150], Step [350/354], Loss: 1.0254, Acc: 72.00%
Epoch [106/150], Step [350/354], Loss: 1.0254, Acc: 72.00%
================================================================================
Época [106/150] Completada
================================================================================
Train Loss: 0.8838 | Train Acc: 72.02%
Test Loss: 1.4284 | Test Acc: 65.87%
Gap (Overfitting): 6.15%
Mejor Test Acc hasta ahora: 66.25% (época 105)
Épocas sin mejora: 1/15
Learning Rate actual: 6.25e-06
Tiempo de época: 436.11s
================================================================================
================================================================================
Época [106/150] Completada
================================================================================
Train Loss: 0.8838 | Train Acc: 72.02%
Test Loss: 1.4284 | Test Acc: 65.87%
Gap (Overfitting): 6.15%
Mejor Test Acc hasta ahora: 66.25% (época 105)
Épocas sin mejora: 1/15
Learning Rate actual: 6.25e-06
Tiempo de época: 436.11s
================================================================================
Epoch [107/150], Step [50/354], Loss: 0.8029, Acc: 72.81%
Epoch [107/150], Step [50/354], Loss: 0.8029, Acc: 72.81%
Epoch [107/150], Step [100/354], Loss: 0.7167, Acc: 72.41%
Epoch [107/150], Step [100/354], Loss: 0.7167, Acc: 72.41%
Epoch [107/150], Step [150/354], Loss: 0.6412, Acc: 72.83%
Epoch [107/150], Step [150/354], Loss: 0.6412, Acc: 72.83%
Epoch [107/150], Step [200/354], Loss: 0.5097, Acc: 72.52%
Epoch [107/150], Step [200/354], Loss: 0.5097, Acc: 72.52%
Epoch [107/150], Step [250/354], Loss: 0.6053, Acc: 72.66%
Epoch [107/150], Step [250/354], Loss: 0.6053, Acc: 72.66%
Epoch [107/150], Step [300/354], Loss: 0.8788, Acc: 72.81%
Epoch [107/150], Step [300/354], Loss: 0.8788, Acc: 72.81%
Epoch [107/150], Step [350/354], Loss: 1.0878, Acc: 72.95%
Epoch [107/150], Step [350/354], Loss: 1.0878, Acc: 72.95%
================================================================================
Época [107/150] Completada
================================================================================
Train Loss: 0.8527 | Train Acc: 72.92%
Test Loss: 1.4187 | Test Acc: 66.22%
Gap (Overfitting): 6.70%
Mejor Test Acc hasta ahora: 66.25% (época 105)
Épocas sin mejora: 2/15
Learning Rate actual: 6.25e-06
Tiempo de época: 375.35s
================================================================================
================================================================================
Época [107/150] Completada
================================================================================
Train Loss: 0.8527 | Train Acc: 72.92%
Test Loss: 1.4187 | Test Acc: 66.22%
Gap (Overfitting): 6.70%
Mejor Test Acc hasta ahora: 66.25% (época 105)
Épocas sin mejora: 2/15
Learning Rate actual: 6.25e-06
Tiempo de época: 375.35s
================================================================================
Epoch [108/150], Step [50/354], Loss: 1.2741, Acc: 71.62%
Epoch [108/150], Step [50/354], Loss: 1.2741, Acc: 71.62%
Epoch [108/150], Step [100/354], Loss: 0.8213, Acc: 71.75%
Epoch [108/150], Step [100/354], Loss: 0.8213, Acc: 71.75%
Epoch [108/150], Step [150/354], Loss: 0.7291, Acc: 72.15%
Epoch [108/150], Step [150/354], Loss: 0.7291, Acc: 72.15%
Epoch [108/150], Step [200/354], Loss: 1.0495, Acc: 72.33%
Epoch [108/150], Step [200/354], Loss: 1.0495, Acc: 72.33%
Epoch [108/150], Step [250/354], Loss: 0.6934, Acc: 72.46%
Epoch [108/150], Step [250/354], Loss: 0.6934, Acc: 72.46%
Epoch [108/150], Step [300/354], Loss: 1.0547, Acc: 72.18%
Epoch [108/150], Step [300/354], Loss: 1.0547, Acc: 72.18%
Epoch [108/150], Step [350/354], Loss: 0.7569, Acc: 72.34%
Epoch [108/150], Step [350/354], Loss: 0.7569, Acc: 72.34%
✓ Nuevo mejor modelo guardado: Test Acc = 66.40% (época 108)
================================================================================
Época [108/150] Completada
================================================================================
Train Loss: 0.8750 | Train Acc: 72.27%
Test Loss: 1.4121 | Test Acc: 66.40%
Gap (Overfitting): 5.87%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 0/15
Learning Rate actual: 6.25e-06
Tiempo de época: 390.86s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 66.40% (época 108)
================================================================================
Época [108/150] Completada
================================================================================
Train Loss: 0.8750 | Train Acc: 72.27%
Test Loss: 1.4121 | Test Acc: 66.40%
Gap (Overfitting): 5.87%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 0/15
Learning Rate actual: 6.25e-06
Tiempo de época: 390.86s
================================================================================
Epoch [109/150], Step [50/354], Loss: 1.3472, Acc: 73.69%
Epoch [109/150], Step [50/354], Loss: 1.3472, Acc: 73.69%
Epoch [109/150], Step [100/354], Loss: 0.7373, Acc: 73.16%
Epoch [109/150], Step [100/354], Loss: 0.7373, Acc: 73.16%
Epoch [109/150], Step [150/354], Loss: 0.9954, Acc: 72.67%
Epoch [109/150], Step [150/354], Loss: 0.9954, Acc: 72.67%
Epoch [109/150], Step [200/354], Loss: 0.6702, Acc: 72.58%
Epoch [109/150], Step [200/354], Loss: 0.6702, Acc: 72.58%
Epoch [109/150], Step [250/354], Loss: 0.8180, Acc: 72.95%
Epoch [109/150], Step [250/354], Loss: 0.8180, Acc: 72.95%
Epoch [109/150], Step [300/354], Loss: 0.8558, Acc: 72.55%
Epoch [109/150], Step [300/354], Loss: 0.8558, Acc: 72.55%
Epoch [109/150], Step [350/354], Loss: 0.4740, Acc: 72.71%
Epoch [109/150], Step [350/354], Loss: 0.4740, Acc: 72.71%
================================================================================
Época [109/150] Completada
================================================================================
Train Loss: 0.8607 | Train Acc: 72.70%
Test Loss: 1.4165 | Test Acc: 66.01%
Gap (Overfitting): 6.69%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 1/15
Learning Rate actual: 6.25e-06
Tiempo de época: 206.19s
================================================================================
================================================================================
Época [109/150] Completada
================================================================================
Train Loss: 0.8607 | Train Acc: 72.70%
Test Loss: 1.4165 | Test Acc: 66.01%
Gap (Overfitting): 6.69%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 1/15
Learning Rate actual: 6.25e-06
Tiempo de época: 206.19s
================================================================================
Epoch [110/150], Step [50/354], Loss: 0.6684, Acc: 71.50%
Epoch [110/150], Step [50/354], Loss: 0.6684, Acc: 71.50%
Epoch [110/150], Step [100/354], Loss: 1.1085, Acc: 72.34%
Epoch [110/150], Step [100/354], Loss: 1.1085, Acc: 72.34%
Epoch [110/150], Step [150/354], Loss: 0.8336, Acc: 72.83%
Epoch [110/150], Step [150/354], Loss: 0.8336, Acc: 72.83%
Epoch [110/150], Step [200/354], Loss: 0.7812, Acc: 72.92%
Epoch [110/150], Step [200/354], Loss: 0.7812, Acc: 72.92%
Epoch [110/150], Step [250/354], Loss: 0.8908, Acc: 72.59%
Epoch [110/150], Step [250/354], Loss: 0.8908, Acc: 72.59%
Epoch [110/150], Step [300/354], Loss: 0.7313, Acc: 72.59%
Epoch [110/150], Step [300/354], Loss: 0.7313, Acc: 72.59%
Epoch [110/150], Step [350/354], Loss: 0.9235, Acc: 72.51%
Epoch [110/150], Step [350/354], Loss: 0.9235, Acc: 72.51%
================================================================================
Época [110/150] Completada
================================================================================
Train Loss: 0.8503 | Train Acc: 72.54%
Test Loss: 1.4170 | Test Acc: 66.08%
Gap (Overfitting): 6.46%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 2/15
Learning Rate actual: 6.25e-06
Tiempo de época: 242.86s
================================================================================
================================================================================
Época [110/150] Completada
================================================================================
Train Loss: 0.8503 | Train Acc: 72.54%
Test Loss: 1.4170 | Test Acc: 66.08%
Gap (Overfitting): 6.46%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 2/15
Learning Rate actual: 6.25e-06
Tiempo de época: 242.86s
================================================================================
Epoch [111/150], Step [50/354], Loss: 0.8847, Acc: 73.38%
Epoch [111/150], Step [50/354], Loss: 0.8847, Acc: 73.38%
Epoch [111/150], Step [100/354], Loss: 0.5311, Acc: 73.19%
Epoch [111/150], Step [100/354], Loss: 0.5311, Acc: 73.19%
Epoch [111/150], Step [150/354], Loss: 0.7282, Acc: 72.62%
Epoch [111/150], Step [150/354], Loss: 0.7282, Acc: 72.62%
Epoch [111/150], Step [200/354], Loss: 0.5751, Acc: 72.78%
Epoch [111/150], Step [200/354], Loss: 0.5751, Acc: 72.78%
Epoch [111/150], Step [250/354], Loss: 0.6590, Acc: 72.66%
Epoch [111/150], Step [250/354], Loss: 0.6590, Acc: 72.66%
Epoch [111/150], Step [300/354], Loss: 1.1995, Acc: 72.66%
Epoch [111/150], Step [300/354], Loss: 1.1995, Acc: 72.66%
Epoch [111/150], Step [350/354], Loss: 1.2467, Acc: 72.59%
Epoch [111/150], Step [350/354], Loss: 1.2467, Acc: 72.59%
================================================================================
Época [111/150] Completada
================================================================================
Train Loss: 0.8548 | Train Acc: 72.65%
Test Loss: 1.4195 | Test Acc: 66.22%
Gap (Overfitting): 6.43%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 3/15
Learning Rate actual: 6.25e-06
Tiempo de época: 263.89s
================================================================================
================================================================================
Época [111/150] Completada
================================================================================
Train Loss: 0.8548 | Train Acc: 72.65%
Test Loss: 1.4195 | Test Acc: 66.22%
Gap (Overfitting): 6.43%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 3/15
Learning Rate actual: 6.25e-06
Tiempo de época: 263.89s
================================================================================
Epoch [112/150], Step [50/354], Loss: 1.2159, Acc: 73.19%
Epoch [112/150], Step [50/354], Loss: 1.2159, Acc: 73.19%
Epoch [112/150], Step [100/354], Loss: 0.5990, Acc: 73.72%
Epoch [112/150], Step [100/354], Loss: 0.5990, Acc: 73.72%
Epoch [112/150], Step [150/354], Loss: 0.5871, Acc: 73.62%
Epoch [112/150], Step [150/354], Loss: 0.5871, Acc: 73.62%
Epoch [112/150], Step [200/354], Loss: 0.7269, Acc: 73.06%
Epoch [112/150], Step [200/354], Loss: 0.7269, Acc: 73.06%
Epoch [112/150], Step [250/354], Loss: 0.5426, Acc: 73.00%
Epoch [112/150], Step [250/354], Loss: 0.5426, Acc: 73.00%
Epoch [112/150], Step [300/354], Loss: 0.9942, Acc: 72.82%
Epoch [112/150], Step [300/354], Loss: 0.9942, Acc: 72.82%
Epoch [112/150], Step [350/354], Loss: 0.5657, Acc: 72.62%
Epoch [112/150], Step [350/354], Loss: 0.5657, Acc: 72.62%
================================================================================
Época [112/150] Completada
================================================================================
Train Loss: 0.8679 | Train Acc: 72.52%
Test Loss: 1.4019 | Test Acc: 66.01%
Gap (Overfitting): 6.52%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 4/15
Learning Rate actual: 6.25e-06
Tiempo de época: 241.91s
================================================================================
================================================================================
Época [112/150] Completada
================================================================================
Train Loss: 0.8679 | Train Acc: 72.52%
Test Loss: 1.4019 | Test Acc: 66.01%
Gap (Overfitting): 6.52%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 4/15
Learning Rate actual: 6.25e-06
Tiempo de época: 241.91s
================================================================================
Epoch [113/150], Step [50/354], Loss: 0.7278, Acc: 74.12%
Epoch [113/150], Step [50/354], Loss: 0.7278, Acc: 74.12%
Epoch [113/150], Step [100/354], Loss: 1.1593, Acc: 73.62%
Epoch [113/150], Step [100/354], Loss: 1.1593, Acc: 73.62%
Epoch [113/150], Step [150/354], Loss: 1.1424, Acc: 73.62%
Epoch [113/150], Step [150/354], Loss: 1.1424, Acc: 73.62%
Epoch [113/150], Step [200/354], Loss: 0.9995, Acc: 73.00%
Epoch [113/150], Step [200/354], Loss: 0.9995, Acc: 73.00%
Epoch [113/150], Step [250/354], Loss: 0.8393, Acc: 73.03%
Epoch [113/150], Step [250/354], Loss: 0.8393, Acc: 73.03%
Epoch [113/150], Step [300/354], Loss: 1.0133, Acc: 73.38%
Epoch [113/150], Step [300/354], Loss: 1.0133, Acc: 73.38%
Epoch [113/150], Step [350/354], Loss: 1.1170, Acc: 73.18%
Epoch [113/150], Step [350/354], Loss: 1.1170, Acc: 73.18%
================================================================================
Época [113/150] Completada
================================================================================
Train Loss: 0.8456 | Train Acc: 73.17%
Test Loss: 1.4236 | Test Acc: 66.25%
Gap (Overfitting): 6.91%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 5/15
Learning Rate actual: 6.25e-06
Tiempo de época: 239.64s
================================================================================
================================================================================
Época [113/150] Completada
================================================================================
Train Loss: 0.8456 | Train Acc: 73.17%
Test Loss: 1.4236 | Test Acc: 66.25%
Gap (Overfitting): 6.91%
Mejor Test Acc hasta ahora: 66.40% (época 108)
Épocas sin mejora: 5/15
Learning Rate actual: 6.25e-06
Tiempo de época: 239.64s
================================================================================
Epoch [114/150], Step [50/354], Loss: 1.1887, Acc: 73.75%
Epoch [114/150], Step [50/354], Loss: 1.1887, Acc: 73.75%
Epoch [114/150], Step [100/354], Loss: 0.7362, Acc: 72.91%
Epoch [114/150], Step [100/354], Loss: 0.7362, Acc: 72.91%
Epoch [114/150], Step [150/354], Loss: 1.0265, Acc: 73.25%
Epoch [114/150], Step [150/354], Loss: 1.0265, Acc: 73.25%
Epoch [114/150], Step [200/354], Loss: 1.1324, Acc: 73.33%
Epoch [114/150], Step [200/354], Loss: 1.1324, Acc: 73.33%
Epoch [114/150], Step [250/354], Loss: 1.0447, Acc: 73.46%
Epoch [114/150], Step [250/354], Loss: 1.0447, Acc: 73.46%
Epoch [114/150], Step [300/354], Loss: 0.4568, Acc: 73.25%
Epoch [114/150], Step [300/354], Loss: 0.4568, Acc: 73.25%
Epoch [114/150], Step [350/354], Loss: 0.8598, Acc: 73.47%
Epoch [114/150], Step [350/354], Loss: 0.8598, Acc: 73.47%
✓ Nuevo mejor modelo guardado: Test Acc = 66.57% (época 114)
================================================================================
Época [114/150] Completada
================================================================================
Train Loss: 0.8474 | Train Acc: 73.58%
Test Loss: 1.4262 | Test Acc: 66.57%
Gap (Overfitting): 7.01%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 0/15
Learning Rate actual: 6.25e-06
Tiempo de época: 249.77s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 66.57% (época 114)
================================================================================
Época [114/150] Completada
================================================================================
Train Loss: 0.8474 | Train Acc: 73.58%
Test Loss: 1.4262 | Test Acc: 66.57%
Gap (Overfitting): 7.01%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 0/15
Learning Rate actual: 6.25e-06
Tiempo de época: 249.77s
================================================================================
Epoch [115/150], Step [50/354], Loss: 1.0122, Acc: 73.56%
Epoch [115/150], Step [50/354], Loss: 1.0122, Acc: 73.56%
Epoch [115/150], Step [100/354], Loss: 1.1845, Acc: 73.19%
Epoch [115/150], Step [100/354], Loss: 1.1845, Acc: 73.19%
Epoch [115/150], Step [150/354], Loss: 0.7597, Acc: 73.06%
Epoch [115/150], Step [150/354], Loss: 0.7597, Acc: 73.06%
Epoch [115/150], Step [200/354], Loss: 1.0988, Acc: 72.86%
Epoch [115/150], Step [200/354], Loss: 1.0988, Acc: 72.86%
Epoch [115/150], Step [250/354], Loss: 0.8826, Acc: 72.61%
Epoch [115/150], Step [250/354], Loss: 0.8826, Acc: 72.61%
Epoch [115/150], Step [300/354], Loss: 0.6574, Acc: 72.73%
Epoch [115/150], Step [300/354], Loss: 0.6574, Acc: 72.73%
Epoch [115/150], Step [350/354], Loss: 0.4311, Acc: 73.03%
Epoch [115/150], Step [350/354], Loss: 0.4311, Acc: 73.03%
================================================================================
Época [115/150] Completada
================================================================================
Train Loss: 0.8516 | Train Acc: 73.00%
Test Loss: 1.4370 | Test Acc: 66.08%
Gap (Overfitting): 6.92%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 1/15
Learning Rate actual: 3.13e-06
Tiempo de época: 233.07s
================================================================================
================================================================================
Época [115/150] Completada
================================================================================
Train Loss: 0.8516 | Train Acc: 73.00%
Test Loss: 1.4370 | Test Acc: 66.08%
Gap (Overfitting): 6.92%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 1/15
Learning Rate actual: 3.13e-06
Tiempo de época: 233.07s
================================================================================
Epoch [116/150], Step [50/354], Loss: 0.5462, Acc: 74.12%
Epoch [116/150], Step [50/354], Loss: 0.5462, Acc: 74.12%
Epoch [116/150], Step [100/354], Loss: 0.5244, Acc: 74.22%
Epoch [116/150], Step [100/354], Loss: 0.5244, Acc: 74.22%
Epoch [116/150], Step [150/354], Loss: 0.8285, Acc: 73.38%
Epoch [116/150], Step [150/354], Loss: 0.8285, Acc: 73.38%
Epoch [116/150], Step [200/354], Loss: 1.0315, Acc: 72.88%
Epoch [116/150], Step [200/354], Loss: 1.0315, Acc: 72.88%
Epoch [116/150], Step [250/354], Loss: 0.6569, Acc: 72.92%
Epoch [116/150], Step [250/354], Loss: 0.6569, Acc: 72.92%
Epoch [116/150], Step [300/354], Loss: 1.3847, Acc: 73.20%
Epoch [116/150], Step [300/354], Loss: 1.3847, Acc: 73.20%
Epoch [116/150], Step [350/354], Loss: 1.5360, Acc: 73.41%
Epoch [116/150], Step [350/354], Loss: 1.5360, Acc: 73.41%
================================================================================
Época [116/150] Completada
================================================================================
Train Loss: 0.8548 | Train Acc: 73.41%
Test Loss: 1.4406 | Test Acc: 66.47%
Gap (Overfitting): 6.94%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 2/15
Learning Rate actual: 3.13e-06
Tiempo de época: 242.47s
================================================================================
================================================================================
Época [116/150] Completada
================================================================================
Train Loss: 0.8548 | Train Acc: 73.41%
Test Loss: 1.4406 | Test Acc: 66.47%
Gap (Overfitting): 6.94%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 2/15
Learning Rate actual: 3.13e-06
Tiempo de época: 242.47s
================================================================================
Epoch [117/150], Step [50/354], Loss: 0.9551, Acc: 73.12%
Epoch [117/150], Step [50/354], Loss: 0.9551, Acc: 73.12%
Epoch [117/150], Step [100/354], Loss: 0.8039, Acc: 72.38%
Epoch [117/150], Step [100/354], Loss: 0.8039, Acc: 72.38%
Epoch [117/150], Step [150/354], Loss: 0.6737, Acc: 73.10%
Epoch [117/150], Step [150/354], Loss: 0.6737, Acc: 73.10%
Epoch [117/150], Step [200/354], Loss: 1.0477, Acc: 72.73%
Epoch [117/150], Step [200/354], Loss: 1.0477, Acc: 72.73%
Epoch [117/150], Step [250/354], Loss: 0.6143, Acc: 73.08%
Epoch [117/150], Step [250/354], Loss: 0.6143, Acc: 73.08%
Epoch [117/150], Step [300/354], Loss: 0.4136, Acc: 73.22%
Epoch [117/150], Step [300/354], Loss: 0.4136, Acc: 73.22%
Epoch [117/150], Step [350/354], Loss: 0.6846, Acc: 73.28%
Epoch [117/150], Step [350/354], Loss: 0.6846, Acc: 73.28%
================================================================================
Época [117/150] Completada
================================================================================
Train Loss: 0.8350 | Train Acc: 73.28%
Test Loss: 1.4159 | Test Acc: 66.33%
Gap (Overfitting): 6.96%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 3/15
Learning Rate actual: 3.13e-06
Tiempo de época: 224.14s
================================================================================
================================================================================
Época [117/150] Completada
================================================================================
Train Loss: 0.8350 | Train Acc: 73.28%
Test Loss: 1.4159 | Test Acc: 66.33%
Gap (Overfitting): 6.96%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 3/15
Learning Rate actual: 3.13e-06
Tiempo de época: 224.14s
================================================================================
Epoch [118/150], Step [50/354], Loss: 0.9181, Acc: 72.00%
Epoch [118/150], Step [50/354], Loss: 0.9181, Acc: 72.00%
Epoch [118/150], Step [100/354], Loss: 0.7712, Acc: 73.44%
Epoch [118/150], Step [100/354], Loss: 0.7712, Acc: 73.44%
Epoch [118/150], Step [150/354], Loss: 0.6768, Acc: 73.10%
Epoch [118/150], Step [150/354], Loss: 0.6768, Acc: 73.10%
Epoch [118/150], Step [200/354], Loss: 0.6818, Acc: 72.86%
Epoch [118/150], Step [200/354], Loss: 0.6818, Acc: 72.86%
Epoch [118/150], Step [250/354], Loss: 1.0626, Acc: 73.06%
Epoch [118/150], Step [250/354], Loss: 1.0626, Acc: 73.06%
Epoch [118/150], Step [300/354], Loss: 0.7101, Acc: 72.88%
Epoch [118/150], Step [300/354], Loss: 0.7101, Acc: 72.88%
Epoch [118/150], Step [350/354], Loss: 0.5879, Acc: 72.79%
Epoch [118/150], Step [350/354], Loss: 0.5879, Acc: 72.79%
================================================================================
Época [118/150] Completada
================================================================================
Train Loss: 0.8583 | Train Acc: 72.75%
Test Loss: 1.4106 | Test Acc: 66.54%
Gap (Overfitting): 6.22%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 4/15
Learning Rate actual: 3.13e-06
Tiempo de época: 236.11s
================================================================================
================================================================================
Época [118/150] Completada
================================================================================
Train Loss: 0.8583 | Train Acc: 72.75%
Test Loss: 1.4106 | Test Acc: 66.54%
Gap (Overfitting): 6.22%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 4/15
Learning Rate actual: 3.13e-06
Tiempo de época: 236.11s
================================================================================
Epoch [119/150], Step [50/354], Loss: 0.7722, Acc: 72.81%
Epoch [119/150], Step [50/354], Loss: 0.7722, Acc: 72.81%
Epoch [119/150], Step [100/354], Loss: 0.8677, Acc: 73.06%
Epoch [119/150], Step [100/354], Loss: 0.8677, Acc: 73.06%
Epoch [119/150], Step [150/354], Loss: 1.1389, Acc: 72.85%
Epoch [119/150], Step [150/354], Loss: 1.1389, Acc: 72.85%
Epoch [119/150], Step [200/354], Loss: 0.9862, Acc: 72.81%
Epoch [119/150], Step [200/354], Loss: 0.9862, Acc: 72.81%
Epoch [119/150], Step [250/354], Loss: 0.8123, Acc: 73.16%
Epoch [119/150], Step [250/354], Loss: 0.8123, Acc: 73.16%
Epoch [119/150], Step [300/354], Loss: 1.2301, Acc: 73.16%
Epoch [119/150], Step [300/354], Loss: 1.2301, Acc: 73.16%
Epoch [119/150], Step [350/354], Loss: 0.5837, Acc: 73.29%
Epoch [119/150], Step [350/354], Loss: 0.5837, Acc: 73.29%
================================================================================
Época [119/150] Completada
================================================================================
Train Loss: 0.8376 | Train Acc: 73.24%
Test Loss: 1.4248 | Test Acc: 66.33%
Gap (Overfitting): 6.91%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 5/15
Learning Rate actual: 3.13e-06
Tiempo de época: 237.62s
================================================================================
================================================================================
Época [119/150] Completada
================================================================================
Train Loss: 0.8376 | Train Acc: 73.24%
Test Loss: 1.4248 | Test Acc: 66.33%
Gap (Overfitting): 6.91%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 5/15
Learning Rate actual: 3.13e-06
Tiempo de época: 237.62s
================================================================================
Epoch [120/150], Step [50/354], Loss: 0.6600, Acc: 75.06%
Epoch [120/150], Step [50/354], Loss: 0.6600, Acc: 75.06%
Epoch [120/150], Step [100/354], Loss: 0.8170, Acc: 74.53%
Epoch [120/150], Step [100/354], Loss: 0.8170, Acc: 74.53%
Epoch [120/150], Step [150/354], Loss: 0.7436, Acc: 73.88%
Epoch [120/150], Step [150/354], Loss: 0.7436, Acc: 73.88%
Epoch [120/150], Step [200/354], Loss: 0.9281, Acc: 73.67%
Epoch [120/150], Step [200/354], Loss: 0.9281, Acc: 73.67%
Epoch [120/150], Step [250/354], Loss: 1.0234, Acc: 73.45%
Epoch [120/150], Step [250/354], Loss: 1.0234, Acc: 73.45%
Epoch [120/150], Step [300/354], Loss: 0.8063, Acc: 73.24%
Epoch [120/150], Step [300/354], Loss: 0.8063, Acc: 73.24%
Epoch [120/150], Step [350/354], Loss: 1.3346, Acc: 73.21%
Epoch [120/150], Step [350/354], Loss: 1.3346, Acc: 73.21%
================================================================================
Época [120/150] Completada
================================================================================
Train Loss: 0.8344 | Train Acc: 73.25%
Test Loss: 1.4325 | Test Acc: 66.18%
Gap (Overfitting): 7.06%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 6/15
Learning Rate actual: 3.13e-06
Tiempo de época: 239.45s
================================================================================
================================================================================
Época [120/150] Completada
================================================================================
Train Loss: 0.8344 | Train Acc: 73.25%
Test Loss: 1.4325 | Test Acc: 66.18%
Gap (Overfitting): 7.06%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 6/15
Learning Rate actual: 3.13e-06
Tiempo de época: 239.45s
================================================================================
Epoch [121/150], Step [50/354], Loss: 0.6236, Acc: 72.44%
Epoch [121/150], Step [50/354], Loss: 0.6236, Acc: 72.44%
Epoch [121/150], Step [100/354], Loss: 0.7285, Acc: 73.91%
Epoch [121/150], Step [100/354], Loss: 0.7285, Acc: 73.91%
Epoch [121/150], Step [150/354], Loss: 0.7178, Acc: 73.77%
Epoch [121/150], Step [150/354], Loss: 0.7178, Acc: 73.77%
Epoch [121/150], Step [200/354], Loss: 0.6955, Acc: 74.23%
Epoch [121/150], Step [200/354], Loss: 0.6955, Acc: 74.23%
Epoch [121/150], Step [250/354], Loss: 0.8517, Acc: 73.97%
Epoch [121/150], Step [250/354], Loss: 0.8517, Acc: 73.97%
Epoch [121/150], Step [300/354], Loss: 1.0717, Acc: 73.95%
Epoch [121/150], Step [300/354], Loss: 1.0717, Acc: 73.95%
Epoch [121/150], Step [350/354], Loss: 0.8823, Acc: 73.78%
Epoch [121/150], Step [350/354], Loss: 0.8823, Acc: 73.78%
================================================================================
Época [121/150] Completada
================================================================================
Train Loss: 0.8360 | Train Acc: 73.76%
Test Loss: 1.4217 | Test Acc: 66.43%
Gap (Overfitting): 7.33%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 7/15
Learning Rate actual: 3.13e-06
Tiempo de época: 237.03s
================================================================================
================================================================================
Época [121/150] Completada
================================================================================
Train Loss: 0.8360 | Train Acc: 73.76%
Test Loss: 1.4217 | Test Acc: 66.43%
Gap (Overfitting): 7.33%
Mejor Test Acc hasta ahora: 66.57% (época 114)
Épocas sin mejora: 7/15
Learning Rate actual: 3.13e-06
Tiempo de época: 237.03s
================================================================================
Epoch [122/150], Step [50/354], Loss: 0.6315, Acc: 74.19%
Epoch [122/150], Step [50/354], Loss: 0.6315, Acc: 74.19%
Epoch [122/150], Step [100/354], Loss: 0.5385, Acc: 75.25%
Epoch [122/150], Step [100/354], Loss: 0.5385, Acc: 75.25%
Epoch [122/150], Step [150/354], Loss: 1.3282, Acc: 74.08%
Epoch [122/150], Step [150/354], Loss: 1.3282, Acc: 74.08%
Epoch [122/150], Step [200/354], Loss: 0.8475, Acc: 74.19%
Epoch [122/150], Step [200/354], Loss: 0.8475, Acc: 74.19%
Epoch [122/150], Step [250/354], Loss: 1.1261, Acc: 73.64%
Epoch [122/150], Step [250/354], Loss: 1.1261, Acc: 73.64%
Epoch [122/150], Step [300/354], Loss: 0.7317, Acc: 73.72%
Epoch [122/150], Step [300/354], Loss: 0.7317, Acc: 73.72%
Epoch [122/150], Step [350/354], Loss: 1.1018, Acc: 73.96%
Epoch [122/150], Step [350/354], Loss: 1.1018, Acc: 73.96%
✓ Nuevo mejor modelo guardado: Test Acc = 66.82% (época 122)
================================================================================
Época [122/150] Completada
================================================================================
Train Loss: 0.8313 | Train Acc: 73.96%
Test Loss: 1.4264 | Test Acc: 66.82%
Gap (Overfitting): 7.14%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 0/15
Learning Rate actual: 3.13e-06
Tiempo de época: 238.61s
================================================================================
✓ Nuevo mejor modelo guardado: Test Acc = 66.82% (época 122)
================================================================================
Época [122/150] Completada
================================================================================
Train Loss: 0.8313 | Train Acc: 73.96%
Test Loss: 1.4264 | Test Acc: 66.82%
Gap (Overfitting): 7.14%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 0/15
Learning Rate actual: 3.13e-06
Tiempo de época: 238.61s
================================================================================
Epoch [123/150], Step [50/354], Loss: 1.2620, Acc: 72.62%
Epoch [123/150], Step [50/354], Loss: 1.2620, Acc: 72.62%
Epoch [123/150], Step [100/354], Loss: 0.9466, Acc: 73.91%
Epoch [123/150], Step [100/354], Loss: 0.9466, Acc: 73.91%
Epoch [123/150], Step [150/354], Loss: 0.6632, Acc: 73.27%
Epoch [123/150], Step [150/354], Loss: 0.6632, Acc: 73.27%
Epoch [123/150], Step [200/354], Loss: 0.7784, Acc: 72.95%
Epoch [123/150], Step [200/354], Loss: 0.7784, Acc: 72.95%
Epoch [123/150], Step [250/354], Loss: 0.7710, Acc: 72.86%
Epoch [123/150], Step [250/354], Loss: 0.7710, Acc: 72.86%
Epoch [123/150], Step [300/354], Loss: 0.5574, Acc: 73.12%
Epoch [123/150], Step [300/354], Loss: 0.5574, Acc: 73.12%
Epoch [123/150], Step [350/354], Loss: 0.8672, Acc: 73.38%
Epoch [123/150], Step [350/354], Loss: 0.8672, Acc: 73.38%
================================================================================
Época [123/150] Completada
================================================================================
Train Loss: 0.8395 | Train Acc: 73.39%
Test Loss: 1.4429 | Test Acc: 66.18%
Gap (Overfitting): 7.21%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 1/15
Learning Rate actual: 3.13e-06
Tiempo de época: 218.75s
================================================================================
================================================================================
Época [123/150] Completada
================================================================================
Train Loss: 0.8395 | Train Acc: 73.39%
Test Loss: 1.4429 | Test Acc: 66.18%
Gap (Overfitting): 7.21%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 1/15
Learning Rate actual: 3.13e-06
Tiempo de época: 218.75s
================================================================================
Epoch [124/150], Step [50/354], Loss: 0.8164, Acc: 73.75%
Epoch [124/150], Step [50/354], Loss: 0.8164, Acc: 73.75%
Epoch [124/150], Step [100/354], Loss: 1.0693, Acc: 73.06%
Epoch [124/150], Step [100/354], Loss: 1.0693, Acc: 73.06%
Epoch [124/150], Step [150/354], Loss: 1.0321, Acc: 73.46%
Epoch [124/150], Step [150/354], Loss: 1.0321, Acc: 73.46%
Epoch [124/150], Step [200/354], Loss: 0.8234, Acc: 73.77%
Epoch [124/150], Step [200/354], Loss: 0.8234, Acc: 73.77%
Epoch [124/150], Step [250/354], Loss: 0.5950, Acc: 73.56%
Epoch [124/150], Step [250/354], Loss: 0.5950, Acc: 73.56%
Epoch [124/150], Step [300/354], Loss: 0.6986, Acc: 73.53%
Epoch [124/150], Step [300/354], Loss: 0.6986, Acc: 73.53%
Epoch [124/150], Step [350/354], Loss: 0.9503, Acc: 73.58%
Epoch [124/150], Step [350/354], Loss: 0.9503, Acc: 73.58%
================================================================================
Época [124/150] Completada
================================================================================
Train Loss: 0.8298 | Train Acc: 73.57%
Test Loss: 1.4448 | Test Acc: 66.54%
Gap (Overfitting): 7.03%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 2/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.07s
================================================================================
================================================================================
Época [124/150] Completada
================================================================================
Train Loss: 0.8298 | Train Acc: 73.57%
Test Loss: 1.4448 | Test Acc: 66.54%
Gap (Overfitting): 7.03%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 2/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.07s
================================================================================
Epoch [125/150], Step [50/354], Loss: 0.3574, Acc: 74.94%
Epoch [125/150], Step [50/354], Loss: 0.3574, Acc: 74.94%
Epoch [125/150], Step [100/354], Loss: 1.0275, Acc: 74.28%
Epoch [125/150], Step [100/354], Loss: 1.0275, Acc: 74.28%
Epoch [125/150], Step [150/354], Loss: 1.4074, Acc: 73.83%
Epoch [125/150], Step [150/354], Loss: 1.4074, Acc: 73.83%
Epoch [125/150], Step [200/354], Loss: 1.1220, Acc: 73.48%
Epoch [125/150], Step [200/354], Loss: 1.1220, Acc: 73.48%
Epoch [125/150], Step [250/354], Loss: 0.6595, Acc: 73.39%
Epoch [125/150], Step [250/354], Loss: 0.6595, Acc: 73.39%
Epoch [125/150], Step [300/354], Loss: 0.7492, Acc: 73.27%
Epoch [125/150], Step [300/354], Loss: 0.7492, Acc: 73.27%
Epoch [125/150], Step [350/354], Loss: 0.7550, Acc: 73.43%
Epoch [125/150], Step [350/354], Loss: 0.7550, Acc: 73.43%
================================================================================
Época [125/150] Completada
================================================================================
Train Loss: 0.8418 | Train Acc: 73.42%
Test Loss: 1.4368 | Test Acc: 66.33%
Gap (Overfitting): 7.09%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 3/15
Learning Rate actual: 1.56e-06
Tiempo de época: 211.05s
================================================================================
================================================================================
Época [125/150] Completada
================================================================================
Train Loss: 0.8418 | Train Acc: 73.42%
Test Loss: 1.4368 | Test Acc: 66.33%
Gap (Overfitting): 7.09%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 3/15
Learning Rate actual: 1.56e-06
Tiempo de época: 211.05s
================================================================================
Epoch [126/150], Step [50/354], Loss: 0.8562, Acc: 74.50%
Epoch [126/150], Step [50/354], Loss: 0.8562, Acc: 74.50%
Epoch [126/150], Step [100/354], Loss: 0.6939, Acc: 74.16%
Epoch [126/150], Step [100/354], Loss: 0.6939, Acc: 74.16%
Epoch [126/150], Step [150/354], Loss: 0.7673, Acc: 74.27%
Epoch [126/150], Step [150/354], Loss: 0.7673, Acc: 74.27%
Epoch [126/150], Step [200/354], Loss: 0.5671, Acc: 74.08%
Epoch [126/150], Step [200/354], Loss: 0.5671, Acc: 74.08%
Epoch [126/150], Step [250/354], Loss: 0.7863, Acc: 73.94%
Epoch [126/150], Step [250/354], Loss: 0.7863, Acc: 73.94%
Epoch [126/150], Step [300/354], Loss: 0.9610, Acc: 73.91%
Epoch [126/150], Step [300/354], Loss: 0.9610, Acc: 73.91%
Epoch [126/150], Step [350/354], Loss: 0.7955, Acc: 73.76%
Epoch [126/150], Step [350/354], Loss: 0.7955, Acc: 73.76%
================================================================================
Época [126/150] Completada
================================================================================
Train Loss: 0.8211 | Train Acc: 73.81%
Test Loss: 1.4362 | Test Acc: 66.61%
Gap (Overfitting): 7.20%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 4/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.96s
================================================================================
================================================================================
Época [126/150] Completada
================================================================================
Train Loss: 0.8211 | Train Acc: 73.81%
Test Loss: 1.4362 | Test Acc: 66.61%
Gap (Overfitting): 7.20%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 4/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.96s
================================================================================
Epoch [127/150], Step [50/354], Loss: 0.7945, Acc: 73.06%
Epoch [127/150], Step [50/354], Loss: 0.7945, Acc: 73.06%
Epoch [127/150], Step [100/354], Loss: 0.4339, Acc: 73.84%
Epoch [127/150], Step [100/354], Loss: 0.4339, Acc: 73.84%
Epoch [127/150], Step [150/354], Loss: 1.6669, Acc: 73.50%
Epoch [127/150], Step [150/354], Loss: 1.6669, Acc: 73.50%
Epoch [127/150], Step [200/354], Loss: 0.8145, Acc: 73.72%
Epoch [127/150], Step [200/354], Loss: 0.8145, Acc: 73.72%
Epoch [127/150], Step [250/354], Loss: 1.0199, Acc: 73.88%
Epoch [127/150], Step [250/354], Loss: 1.0199, Acc: 73.88%
Epoch [127/150], Step [300/354], Loss: 0.6486, Acc: 73.62%
Epoch [127/150], Step [300/354], Loss: 0.6486, Acc: 73.62%
Epoch [127/150], Step [350/354], Loss: 0.5363, Acc: 73.54%
Epoch [127/150], Step [350/354], Loss: 0.5363, Acc: 73.54%
================================================================================
Época [127/150] Completada
================================================================================
Train Loss: 0.8244 | Train Acc: 73.55%
Test Loss: 1.4413 | Test Acc: 66.50%
Gap (Overfitting): 7.05%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 5/15
Learning Rate actual: 1.56e-06
Tiempo de época: 214.59s
================================================================================
================================================================================
Época [127/150] Completada
================================================================================
Train Loss: 0.8244 | Train Acc: 73.55%
Test Loss: 1.4413 | Test Acc: 66.50%
Gap (Overfitting): 7.05%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 5/15
Learning Rate actual: 1.56e-06
Tiempo de época: 214.59s
================================================================================
Epoch [128/150], Step [50/354], Loss: 1.1190, Acc: 74.25%
Epoch [128/150], Step [50/354], Loss: 1.1190, Acc: 74.25%
Epoch [128/150], Step [100/354], Loss: 0.6155, Acc: 74.59%
Epoch [128/150], Step [100/354], Loss: 0.6155, Acc: 74.59%
Epoch [128/150], Step [150/354], Loss: 1.4927, Acc: 74.15%
Epoch [128/150], Step [150/354], Loss: 1.4927, Acc: 74.15%
Epoch [128/150], Step [200/354], Loss: 1.0634, Acc: 73.70%
Epoch [128/150], Step [200/354], Loss: 1.0634, Acc: 73.70%
Epoch [128/150], Step [250/354], Loss: 0.5921, Acc: 73.79%
Epoch [128/150], Step [250/354], Loss: 0.5921, Acc: 73.79%
Epoch [128/150], Step [300/354], Loss: 0.8670, Acc: 73.61%
Epoch [128/150], Step [300/354], Loss: 0.8670, Acc: 73.61%
Epoch [128/150], Step [350/354], Loss: 0.7756, Acc: 73.63%
Epoch [128/150], Step [350/354], Loss: 0.7756, Acc: 73.63%
================================================================================
Época [128/150] Completada
================================================================================
Train Loss: 0.8343 | Train Acc: 73.63%
Test Loss: 1.4397 | Test Acc: 66.18%
Gap (Overfitting): 7.44%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 6/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.24s
================================================================================
================================================================================
Época [128/150] Completada
================================================================================
Train Loss: 0.8343 | Train Acc: 73.63%
Test Loss: 1.4397 | Test Acc: 66.18%
Gap (Overfitting): 7.44%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 6/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.24s
================================================================================
Epoch [129/150], Step [50/354], Loss: 1.0472, Acc: 73.81%
Epoch [129/150], Step [50/354], Loss: 1.0472, Acc: 73.81%
Epoch [129/150], Step [100/354], Loss: 1.0406, Acc: 74.03%
Epoch [129/150], Step [100/354], Loss: 1.0406, Acc: 74.03%
Epoch [129/150], Step [150/354], Loss: 1.0685, Acc: 73.67%
Epoch [129/150], Step [150/354], Loss: 1.0685, Acc: 73.67%
Epoch [129/150], Step [200/354], Loss: 0.8877, Acc: 73.58%
Epoch [129/150], Step [200/354], Loss: 0.8877, Acc: 73.58%
Epoch [129/150], Step [250/354], Loss: 0.8331, Acc: 73.69%
Epoch [129/150], Step [250/354], Loss: 0.8331, Acc: 73.69%
Epoch [129/150], Step [300/354], Loss: 0.8543, Acc: 73.74%
Epoch [129/150], Step [300/354], Loss: 0.8543, Acc: 73.74%
Epoch [129/150], Step [350/354], Loss: 0.9144, Acc: 73.74%
Epoch [129/150], Step [350/354], Loss: 0.9144, Acc: 73.74%
================================================================================
Época [129/150] Completada
================================================================================
Train Loss: 0.8317 | Train Acc: 73.68%
Test Loss: 1.4341 | Test Acc: 66.29%
Gap (Overfitting): 7.39%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 7/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.08s
================================================================================
================================================================================
Época [129/150] Completada
================================================================================
Train Loss: 0.8317 | Train Acc: 73.68%
Test Loss: 1.4341 | Test Acc: 66.29%
Gap (Overfitting): 7.39%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 7/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.08s
================================================================================
Epoch [130/150], Step [50/354], Loss: 1.0710, Acc: 74.06%
Epoch [130/150], Step [50/354], Loss: 1.0710, Acc: 74.06%
Epoch [130/150], Step [100/354], Loss: 0.9260, Acc: 73.62%
Epoch [130/150], Step [100/354], Loss: 0.9260, Acc: 73.62%
Epoch [130/150], Step [150/354], Loss: 0.7332, Acc: 73.58%
Epoch [130/150], Step [150/354], Loss: 0.7332, Acc: 73.58%
Epoch [130/150], Step [200/354], Loss: 0.8125, Acc: 73.39%
Epoch [130/150], Step [200/354], Loss: 0.8125, Acc: 73.39%
Epoch [130/150], Step [250/354], Loss: 0.9899, Acc: 73.50%
Epoch [130/150], Step [250/354], Loss: 0.9899, Acc: 73.50%
Epoch [130/150], Step [300/354], Loss: 0.7113, Acc: 73.22%
Epoch [130/150], Step [300/354], Loss: 0.7113, Acc: 73.22%
Epoch [130/150], Step [350/354], Loss: 0.7212, Acc: 73.19%
Epoch [130/150], Step [350/354], Loss: 0.7212, Acc: 73.19%
================================================================================
Época [130/150] Completada
================================================================================
Train Loss: 0.8351 | Train Acc: 73.17%
Test Loss: 1.4333 | Test Acc: 66.36%
Gap (Overfitting): 6.81%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 8/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.17s
================================================================================
================================================================================
Época [130/150] Completada
================================================================================
Train Loss: 0.8351 | Train Acc: 73.17%
Test Loss: 1.4333 | Test Acc: 66.36%
Gap (Overfitting): 6.81%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 8/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.17s
================================================================================
Epoch [131/150], Step [50/354], Loss: 0.9492, Acc: 74.62%
Epoch [131/150], Step [50/354], Loss: 0.9492, Acc: 74.62%
Epoch [131/150], Step [100/354], Loss: 0.6314, Acc: 74.19%
Epoch [131/150], Step [100/354], Loss: 0.6314, Acc: 74.19%
Epoch [131/150], Step [150/354], Loss: 0.6644, Acc: 74.04%
Epoch [131/150], Step [150/354], Loss: 0.6644, Acc: 74.04%
Epoch [131/150], Step [200/354], Loss: 0.6953, Acc: 73.97%
Epoch [131/150], Step [200/354], Loss: 0.6953, Acc: 73.97%
Epoch [131/150], Step [250/354], Loss: 0.6392, Acc: 73.89%
Epoch [131/150], Step [250/354], Loss: 0.6392, Acc: 73.89%
Epoch [131/150], Step [300/354], Loss: 0.9323, Acc: 73.69%
Epoch [131/150], Step [300/354], Loss: 0.9323, Acc: 73.69%
Epoch [131/150], Step [350/354], Loss: 1.0060, Acc: 73.56%
Epoch [131/150], Step [350/354], Loss: 1.0060, Acc: 73.56%
================================================================================
Época [131/150] Completada
================================================================================
Train Loss: 0.8331 | Train Acc: 73.62%
Test Loss: 1.4365 | Test Acc: 66.43%
Gap (Overfitting): 7.19%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 9/15
Learning Rate actual: 1.56e-06
Tiempo de época: 214.88s
================================================================================
================================================================================
Época [131/150] Completada
================================================================================
Train Loss: 0.8331 | Train Acc: 73.62%
Test Loss: 1.4365 | Test Acc: 66.43%
Gap (Overfitting): 7.19%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 9/15
Learning Rate actual: 1.56e-06
Tiempo de época: 214.88s
================================================================================
Epoch [132/150], Step [50/354], Loss: 0.9317, Acc: 72.31%
Epoch [132/150], Step [50/354], Loss: 0.9317, Acc: 72.31%
Epoch [132/150], Step [100/354], Loss: 1.2948, Acc: 72.62%
Epoch [132/150], Step [100/354], Loss: 1.2948, Acc: 72.62%
Epoch [132/150], Step [150/354], Loss: 0.5162, Acc: 73.29%
Epoch [132/150], Step [150/354], Loss: 0.5162, Acc: 73.29%
Epoch [132/150], Step [200/354], Loss: 0.7571, Acc: 73.38%
Epoch [132/150], Step [200/354], Loss: 0.7571, Acc: 73.38%
Epoch [132/150], Step [250/354], Loss: 0.8486, Acc: 73.50%
Epoch [132/150], Step [250/354], Loss: 0.8486, Acc: 73.50%
Epoch [132/150], Step [300/354], Loss: 0.5367, Acc: 73.59%
Epoch [132/150], Step [300/354], Loss: 0.5367, Acc: 73.59%
Epoch [132/150], Step [350/354], Loss: 0.8972, Acc: 73.88%
Epoch [132/150], Step [350/354], Loss: 0.8972, Acc: 73.88%
================================================================================
Época [132/150] Completada
================================================================================
Train Loss: 0.8263 | Train Acc: 73.85%
Test Loss: 1.4366 | Test Acc: 66.43%
Gap (Overfitting): 7.42%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 10/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.90s
================================================================================
================================================================================
Época [132/150] Completada
================================================================================
Train Loss: 0.8263 | Train Acc: 73.85%
Test Loss: 1.4366 | Test Acc: 66.43%
Gap (Overfitting): 7.42%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 10/15
Learning Rate actual: 1.56e-06
Tiempo de época: 215.90s
================================================================================
Epoch [133/150], Step [50/354], Loss: 0.5658, Acc: 75.00%
Epoch [133/150], Step [50/354], Loss: 0.5658, Acc: 75.00%
Epoch [133/150], Step [100/354], Loss: 0.5592, Acc: 73.28%
Epoch [133/150], Step [100/354], Loss: 0.5592, Acc: 73.28%
Epoch [133/150], Step [150/354], Loss: 0.6078, Acc: 73.65%
Epoch [133/150], Step [150/354], Loss: 0.6078, Acc: 73.65%
Epoch [133/150], Step [200/354], Loss: 0.9955, Acc: 73.50%
Epoch [133/150], Step [200/354], Loss: 0.9955, Acc: 73.50%
Epoch [133/150], Step [250/354], Loss: 0.7872, Acc: 73.36%
Epoch [133/150], Step [250/354], Loss: 0.7872, Acc: 73.36%
Epoch [133/150], Step [300/354], Loss: 0.7019, Acc: 73.44%
Epoch [133/150], Step [300/354], Loss: 0.7019, Acc: 73.44%
Epoch [133/150], Step [350/354], Loss: 0.7155, Acc: 73.62%
Epoch [133/150], Step [350/354], Loss: 0.7155, Acc: 73.62%
================================================================================
Época [133/150] Completada
================================================================================
Train Loss: 0.8220 | Train Acc: 73.62%
Test Loss: 1.4432 | Test Acc: 66.71%
Gap (Overfitting): 6.91%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 11/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.58s
================================================================================
================================================================================
Época [133/150] Completada
================================================================================
Train Loss: 0.8220 | Train Acc: 73.62%
Test Loss: 1.4432 | Test Acc: 66.71%
Gap (Overfitting): 6.91%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 11/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.58s
================================================================================
Epoch [134/150], Step [50/354], Loss: 0.5976, Acc: 75.75%
Epoch [134/150], Step [50/354], Loss: 0.5976, Acc: 75.75%
Epoch [134/150], Step [100/354], Loss: 1.0670, Acc: 73.69%
Epoch [134/150], Step [100/354], Loss: 1.0670, Acc: 73.69%
Epoch [134/150], Step [150/354], Loss: 0.6006, Acc: 73.88%
Epoch [134/150], Step [150/354], Loss: 0.6006, Acc: 73.88%
Epoch [134/150], Step [200/354], Loss: 0.5927, Acc: 74.12%
Epoch [134/150], Step [200/354], Loss: 0.5927, Acc: 74.12%
Epoch [134/150], Step [250/354], Loss: 0.8931, Acc: 74.25%
Epoch [134/150], Step [250/354], Loss: 0.8931, Acc: 74.25%
Epoch [134/150], Step [300/354], Loss: 0.5951, Acc: 73.97%
Epoch [134/150], Step [300/354], Loss: 0.5951, Acc: 73.97%
Epoch [134/150], Step [350/354], Loss: 0.9656, Acc: 73.92%
Epoch [134/150], Step [350/354], Loss: 0.9656, Acc: 73.92%
================================================================================
Época [134/150] Completada
================================================================================
Train Loss: 0.8184 | Train Acc: 73.91%
Test Loss: 1.4488 | Test Acc: 66.47%
Gap (Overfitting): 7.44%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 12/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.44s
================================================================================
================================================================================
Época [134/150] Completada
================================================================================
Train Loss: 0.8184 | Train Acc: 73.91%
Test Loss: 1.4488 | Test Acc: 66.47%
Gap (Overfitting): 7.44%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 12/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.44s
================================================================================
Epoch [135/150], Step [50/354], Loss: 1.0108, Acc: 73.75%
Epoch [135/150], Step [50/354], Loss: 1.0108, Acc: 73.75%
Epoch [135/150], Step [100/354], Loss: 0.7159, Acc: 74.06%
Epoch [135/150], Step [100/354], Loss: 0.7159, Acc: 74.06%
Epoch [135/150], Step [150/354], Loss: 0.6233, Acc: 73.48%
Epoch [135/150], Step [150/354], Loss: 0.6233, Acc: 73.48%
Epoch [135/150], Step [200/354], Loss: 0.5315, Acc: 73.58%
Epoch [135/150], Step [200/354], Loss: 0.5315, Acc: 73.58%
Epoch [135/150], Step [250/354], Loss: 0.9367, Acc: 73.42%
Epoch [135/150], Step [250/354], Loss: 0.9367, Acc: 73.42%
Epoch [135/150], Step [300/354], Loss: 0.7177, Acc: 73.72%
Epoch [135/150], Step [300/354], Loss: 0.7177, Acc: 73.72%
Epoch [135/150], Step [350/354], Loss: 0.9619, Acc: 73.70%
Epoch [135/150], Step [350/354], Loss: 0.9619, Acc: 73.70%
================================================================================
Época [135/150] Completada
================================================================================
Train Loss: 0.8303 | Train Acc: 73.65%
Test Loss: 1.4533 | Test Acc: 66.40%
Gap (Overfitting): 7.26%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 13/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.59s
================================================================================
================================================================================
Época [135/150] Completada
================================================================================
Train Loss: 0.8303 | Train Acc: 73.65%
Test Loss: 1.4533 | Test Acc: 66.40%
Gap (Overfitting): 7.26%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 13/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.59s
================================================================================
Epoch [136/150], Step [50/354], Loss: 0.5653, Acc: 73.56%
Epoch [136/150], Step [50/354], Loss: 0.5653, Acc: 73.56%
Epoch [136/150], Step [100/354], Loss: 1.1982, Acc: 73.44%
Epoch [136/150], Step [100/354], Loss: 1.1982, Acc: 73.44%
Epoch [136/150], Step [150/354], Loss: 0.7715, Acc: 73.60%
Epoch [136/150], Step [150/354], Loss: 0.7715, Acc: 73.60%
Epoch [136/150], Step [200/354], Loss: 0.7233, Acc: 73.55%
Epoch [136/150], Step [200/354], Loss: 0.7233, Acc: 73.55%
Epoch [136/150], Step [250/354], Loss: 0.5636, Acc: 73.95%
Epoch [136/150], Step [250/354], Loss: 0.5636, Acc: 73.95%
Epoch [136/150], Step [300/354], Loss: 1.1129, Acc: 73.76%
Epoch [136/150], Step [300/354], Loss: 1.1129, Acc: 73.76%
Epoch [136/150], Step [350/354], Loss: 0.6589, Acc: 73.94%
Epoch [136/150], Step [350/354], Loss: 0.6589, Acc: 73.94%
================================================================================
Época [136/150] Completada
================================================================================
Train Loss: 0.8226 | Train Acc: 73.91%
Test Loss: 1.4452 | Test Acc: 66.40%
Gap (Overfitting): 7.52%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 14/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.20s
================================================================================
================================================================================
Época [136/150] Completada
================================================================================
Train Loss: 0.8226 | Train Acc: 73.91%
Test Loss: 1.4452 | Test Acc: 66.40%
Gap (Overfitting): 7.52%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 14/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.20s
================================================================================
Epoch [137/150], Step [50/354], Loss: 0.7205, Acc: 74.50%
Epoch [137/150], Step [50/354], Loss: 0.7205, Acc: 74.50%
Epoch [137/150], Step [100/354], Loss: 0.8325, Acc: 73.50%
Epoch [137/150], Step [100/354], Loss: 0.8325, Acc: 73.50%
Epoch [137/150], Step [150/354], Loss: 0.9357, Acc: 73.21%
Epoch [137/150], Step [150/354], Loss: 0.9357, Acc: 73.21%
Epoch [137/150], Step [200/354], Loss: 0.3732, Acc: 73.34%
Epoch [137/150], Step [200/354], Loss: 0.3732, Acc: 73.34%
Epoch [137/150], Step [250/354], Loss: 0.9580, Acc: 73.47%
Epoch [137/150], Step [250/354], Loss: 0.9580, Acc: 73.47%
Epoch [137/150], Step [300/354], Loss: 1.1061, Acc: 73.46%
Epoch [137/150], Step [300/354], Loss: 1.1061, Acc: 73.46%
Epoch [137/150], Step [350/354], Loss: 0.4923, Acc: 73.55%
Epoch [137/150], Step [350/354], Loss: 0.4923, Acc: 73.55%
================================================================================
Época [137/150] Completada
================================================================================
Train Loss: 0.8362 | Train Acc: 73.50%
Test Loss: 1.4432 | Test Acc: 66.43%
Gap (Overfitting): 7.07%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 15/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.00s
================================================================================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EARLY STOPPING ACTIVADO
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
No se observó mejora en Test Accuracy durante 15 épocas consecutivas.
Deteniendo entrenamiento en época 137.
Mejor modelo: época 122 con Test Acc = 66.82%
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
********************************************************************************
Cargando mejor modelo (época 122) para evaluación final...
********************************************************************************
################################################################################
ENTRENAMIENTO COMPLETADO
################################################################################
Tiempo total: 578.96 minutos (34737.67 segundos)
Épocas completadas: 137
Mejor Test Accuracy: 66.82% (época 122)
Precisión final de entrenamiento: 73.50%
Precisión final de prueba: 66.43%
Gap final: 7.07%
################################################################################
================================================================================
Época [137/150] Completada
================================================================================
Train Loss: 0.8362 | Train Acc: 73.50%
Test Loss: 1.4432 | Test Acc: 66.43%
Gap (Overfitting): 7.07%
Mejor Test Acc hasta ahora: 66.82% (época 122)
Épocas sin mejora: 15/15
Learning Rate actual: 7.81e-07
Tiempo de época: 215.00s
================================================================================
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EARLY STOPPING ACTIVADO
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
No se observó mejora en Test Accuracy durante 15 épocas consecutivas.
Deteniendo entrenamiento en época 137.
Mejor modelo: época 122 con Test Acc = 66.82%
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
********************************************************************************
Cargando mejor modelo (época 122) para evaluación final...
********************************************************************************
################################################################################
ENTRENAMIENTO COMPLETADO
################################################################################
Tiempo total: 578.96 minutos (34737.67 segundos)
Épocas completadas: 137
Mejor Test Accuracy: 66.82% (época 122)
Precisión final de entrenamiento: 73.50%
Precisión final de prueba: 66.43%
Gap final: 7.07%
################################################################################
a) Gráficas de Error y Precisión a lo Largo de las Iteraciones¶
Visualización del progreso del entrenamiento para identificar:
- Convergencia del modelo
- Presencia de sobreajuste (gap entre train y test)
- Estabilidad del entrenamiento
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 6))
epochs_range = range(1, len(train_losses) + 1)
# Gráfica de pérdida
ax1.plot(epochs_range, train_losses, 'b-', label='Pérdida de Entrenamiento', linewidth=2.5, marker='o', markersize=4)
ax1.plot(epochs_range, test_losses, 'r-', label='Pérdida de Prueba', linewidth=2.5, marker='s', markersize=4)
ax1.set_xlabel('Época', fontsize=13, fontweight='bold')
ax1.set_ylabel('Pérdida (Loss)', fontsize=13, fontweight='bold')
ax1.set_title(f'Evolución de la Pérdida - {model_name}', fontsize=15, fontweight='bold')
ax1.legend(fontsize=11, loc='best')
ax1.grid(True, alpha=0.3, linestyle='--')
ax1.set_xlim(1, len(train_losses))
# Gráfica de precisión
ax2.plot(epochs_range, train_accuracies, 'b-', label='Precisión de Entrenamiento', linewidth=2.5, marker='o', markersize=4)
ax2.plot(epochs_range, test_accuracies, 'r-', label='Precisión de Prueba', linewidth=2.5, marker='s', markersize=4)
ax2.set_xlabel('Época', fontsize=13, fontweight='bold')
ax2.set_ylabel('Precisión (%)', fontsize=13, fontweight='bold')
ax2.set_title(f'Evolución de la Precisión - {model_name}', fontsize=15, fontweight='bold')
ax2.legend(fontsize=11, loc='best')
ax2.grid(True, alpha=0.3, linestyle='--')
ax2.set_xlim(1, len(train_accuracies))
ax2.set_ylim(0, 100)
plt.tight_layout()
plt.show()
print(f'\n{"="*80}')
print(f'{"RESUMEN DE MÉTRICAS FINALES":^80}')
print(f'{"="*80}')
print(f'Modelo: {model_name}')
print(f'b) Precisión final de entrenamiento: {train_accuracies[-1]:.2f}%')
print(f'b) Precisión final de prueba: {test_accuracies[-1]:.2f}%')
print(f' Gap (Train - Test): {train_accuracies[-1] - test_accuracies[-1]:.2f}%')
print(f'\n Pérdida final de entrenamiento: {train_losses[-1]:.4f}')
print(f' Pérdida final de prueba: {test_losses[-1]:.4f}')
print(f'\nc) Tiempo total de simulación: {total_time/60:.2f} minutos ({total_time:.2f} segundos)')
print(f' Tiempo promedio por época: {total_time/len(train_losses):.2f} segundos')
print(f'{"="*80}\n')
================================================================================
RESUMEN DE MÉTRICAS FINALES
================================================================================
Modelo: AlexNet
b) Precisión final de entrenamiento: 73.50%
b) Precisión final de prueba: 66.43%
Gap (Train - Test): 7.07%
Pérdida final de entrenamiento: 0.8362
Pérdida final de prueba: 1.4432
c) Tiempo total de simulación: 578.96 minutos (34737.67 segundos)
Tiempo promedio por época: 253.56 segundos
================================================================================
# d) y e) Análisis de predicciones: Desempeño excelente vs pobre
print('\n=== Evaluando modelo en conjunto de prueba ===')
model.eval()
# Almacenar todas las predicciones
all_predictions = []
all_labels = []
all_confidences = []
all_images = []
with torch.no_grad():
for images, labels in test_loader:
images, labels = images.to(device), labels.to(device)
outputs = model(images)
probs = torch.nn.functional.softmax(outputs, dim=1)
confidences, predictions = torch.max(probs, 1)
all_predictions.extend(predictions.cpu().numpy())
all_labels.extend(labels.cpu().numpy())
all_confidences.extend(confidences.cpu().numpy())
all_images.extend(images.cpu())
all_predictions = np.array(all_predictions)
all_labels = np.array(all_labels)
all_confidences = np.array(all_confidences)
correct_mask = all_predictions == all_labels
incorrect_mask = ~correct_mask
correct_indices = np.where(correct_mask)[0]
incorrect_indices = np.where(incorrect_mask)[0]
# d) Mejores predicciones (alta confianza + correctas)
if len(correct_indices) > 0:
correct_confidences = all_confidences[correct_indices]
best_indices = correct_indices[np.argsort(correct_confidences)[-6:]] # Top 6
print(f'\n{"="*80}')
print(f'd) DESEMPEÑO EXCELENTE - Predicciones con alta confianza (correctas)')
print(f'{"="*80}')
fig, axes = plt.subplots(2, 3, figsize=(15, 10))
axes = axes.flatten()
for idx, img_idx in enumerate(best_indices):
img = all_images[img_idx].numpy().transpose(1, 2, 0)
img = img * np.array([0.229, 0.224, 0.225]) + np.array([0.485, 0.456, 0.406])
img = np.clip(img, 0, 1)
pred_class = dataset.classes[all_predictions[img_idx]]
true_class = dataset.classes[all_labels[img_idx]]
confidence = all_confidences[img_idx]
axes[idx].imshow(img)
axes[idx].set_title(f'Predicción: {pred_class}\n'
f'Real: {true_class}\n'
f'Confianza: {confidence:.2%}',
fontsize=11, color='green', fontweight='bold')
axes[idx].axis('off')
print(f'{idx+1}. Clase: {pred_class:15s} | Confianza: {confidence:.4f} ({confidence*100:.2f}%)')
plt.suptitle(f'Ejemplos de Desempeño EXCELENTE - {model_name}', fontsize=16, fontweight='bold', y=1.02)
plt.tight_layout()
plt.show()
# e) Peores predicciones (incorrectas con alta confianza en error)
if len(incorrect_indices) > 0:
incorrect_confidences = all_confidences[incorrect_indices]
worst_indices = incorrect_indices[np.argsort(incorrect_confidences)[-6:]] # Errores con más confianza
print(f'\n{"="*80}')
print(f'e) DESEMPEÑO POBRE - Predicciones incorrectas con alta confianza')
print(f'{"="*80}')
fig, axes = plt.subplots(2, 3, figsize=(15, 10))
axes = axes.flatten()
for idx, img_idx in enumerate(worst_indices):
img = all_images[img_idx].numpy().transpose(1, 2, 0)
img = img * np.array([0.229, 0.224, 0.225]) + np.array([0.485, 0.456, 0.406])
img = np.clip(img, 0, 1)
pred_class = dataset.classes[all_predictions[img_idx]]
true_class = dataset.classes[all_labels[img_idx]]
confidence = all_confidences[img_idx]
axes[idx].imshow(img)
axes[idx].set_title(f'Predicción: {pred_class}\n'
f'Real: {true_class}\n'
f'Confianza: {confidence:.2%}',
fontsize=11, color='red', fontweight='bold')
axes[idx].axis('off')
print(f'{idx+1}. Pred: {pred_class:15s} | Real: {true_class:15s} | Confianza: {confidence:.4f} ({confidence*100:.2f}%)')
plt.suptitle(f'Ejemplos de Desempeño POBRE - {model_name}', fontsize=16, fontweight='bold', y=1.02)
plt.tight_layout()
plt.show()
print(f'\n{"="*80}')
print(f'Total de predicciones correctas: {correct_mask.sum()} / {len(all_labels)} ({100*correct_mask.sum()/len(all_labels):.2f}%)')
print(f'Total de predicciones incorrectas: {incorrect_mask.sum()} / {len(all_labels)} ({100*incorrect_mask.sum()/len(all_labels):.2f}%)')
print(f'{"="*80}\n')
=== Evaluando modelo en conjunto de prueba === ================================================================================ d) DESEMPEÑO EXCELENTE - Predicciones con alta confianza (correctas) ================================================================================ 1. Clase: ice_hockey | Confianza: 1.0000 (100.00%) 2. Clase: kabaddi | Confianza: 1.0000 (100.00%) 3. Clase: swimming | Confianza: 1.0000 (100.00%) 4. Clase: kabaddi | Confianza: 1.0000 (100.00%) 5. Clase: kabaddi | Confianza: 1.0000 (100.00%) 6. Clase: baseball | Confianza: 1.0000 (100.00%) ================================================================================ d) DESEMPEÑO EXCELENTE - Predicciones con alta confianza (correctas) ================================================================================ 1. Clase: ice_hockey | Confianza: 1.0000 (100.00%) 2. Clase: kabaddi | Confianza: 1.0000 (100.00%) 3. Clase: swimming | Confianza: 1.0000 (100.00%) 4. Clase: kabaddi | Confianza: 1.0000 (100.00%) 5. Clase: kabaddi | Confianza: 1.0000 (100.00%) 6. Clase: baseball | Confianza: 1.0000 (100.00%)
================================================================================ e) DESEMPEÑO POBRE - Predicciones incorrectas con alta confianza ================================================================================ 1. Pred: formula1 | Real: weight_lifting | Confianza: 0.9999 (99.99%) 2. Pred: kabaddi | Real: formula1 | Confianza: 1.0000 (100.00%) 3. Pred: kabaddi | Real: football | Confianza: 1.0000 (100.00%) 4. Pred: swimming | Real: chess | Confianza: 1.0000 (100.00%) 5. Pred: shooting | Real: tennis | Confianza: 1.0000 (100.00%) 6. Pred: shooting | Real: fencing | Confianza: 1.0000 (100.00%)
================================================================================ Total de predicciones correctas: 1891 / 2830 (66.82%) Total de predicciones incorrectas: 939 / 2830 (33.18%) ================================================================================
from sklearn.metrics import confusion_matrix, classification_report
import seaborn as sns
# Calcular matriz de confusión
cm = confusion_matrix(all_labels, all_predictions)
# Visualizar matriz de confusión
plt.figure(figsize=(16, 14))
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues',
xticklabels=dataset.classes,
yticklabels=dataset.classes,
cbar_kws={'label': 'Número de predicciones'})
plt.xlabel('Predicción', fontsize=13, fontweight='bold')
plt.ylabel('Etiqueta Real', fontsize=13, fontweight='bold')
plt.title(f'Matriz de Confusión - {model_name}', fontsize=15, fontweight='bold')
plt.xticks(rotation=45, ha='right')
plt.yticks(rotation=0)
plt.tight_layout()
plt.show()
# Reporte de clasificación detallado
print(f'\n=== REPORTE DE CLASIFICACIÓN POR CLASE ({model_name}) ===\n')
print(classification_report(all_labels, all_predictions,
target_names=dataset.classes,
digits=4))
# Identificar clases con mejor y peor desempeño
from sklearn.metrics import precision_recall_fscore_support
precision, recall, f1, support = precision_recall_fscore_support(all_labels, all_predictions)
print('\n=== TOP 5 CLASES CON MEJOR F1-SCORE ===')
best_classes = np.argsort(f1)[-5:][::-1]
for idx in best_classes:
print(f'{dataset.classes[idx]:20s} | F1: {f1[idx]:.4f} | Precision: {precision[idx]:.4f} | Recall: {recall[idx]:.4f}')
print('\n=== TOP 5 CLASES CON PEOR F1-SCORE ===')
worst_classes = np.argsort(f1)[:5]
for idx in worst_classes:
print(f'{dataset.classes[idx]:20s} | F1: {f1[idx]:.4f} | Precision: {precision[idx]:.4f} | Recall: {recall[idx]:.4f}')
=== REPORTE DE CLASIFICACIÓN POR CLASE (AlexNet) ===
precision recall f1-score support
badminton 0.7438 0.6503 0.6939 183
baseball 0.7518 0.7153 0.7331 144
basketball 0.4958 0.6146 0.5488 96
boxing 0.7667 0.6619 0.7104 139
chess 0.6835 0.5745 0.6243 94
cricket 0.7829 0.7710 0.7769 131
fencing 0.6952 0.5935 0.6404 123
football 0.6905 0.7484 0.7183 155
formula1 0.6309 0.7015 0.6643 134
gymnastics 0.5702 0.4610 0.5098 141
hockey 0.5750 0.6161 0.5948 112
ice_hockey 0.7365 0.8849 0.8039 139
kabaddi 0.7528 0.7614 0.7571 88
motogp 0.7872 0.8409 0.8132 132
shooting 0.6226 0.6286 0.6256 105
swimming 0.8276 0.8889 0.8571 135
table_tennis 0.6349 0.5755 0.6038 139
tennis 0.6615 0.6099 0.6347 141
volleyball 0.5525 0.7246 0.6270 138
weight_lifting 0.3646 0.3125 0.3365 112
wrestling 0.6122 0.5085 0.5556 118
wwe 0.6490 0.7481 0.6950 131
accuracy 0.6682 2830
macro avg 0.6631 0.6633 0.6602 2830
weighted avg 0.6688 0.6682 0.6655 2830
=== TOP 5 CLASES CON MEJOR F1-SCORE ===
swimming | F1: 0.8571 | Precision: 0.8276 | Recall: 0.8889
motogp | F1: 0.8132 | Precision: 0.7872 | Recall: 0.8409
ice_hockey | F1: 0.8039 | Precision: 0.7365 | Recall: 0.8849
cricket | F1: 0.7769 | Precision: 0.7829 | Recall: 0.7710
kabaddi | F1: 0.7571 | Precision: 0.7528 | Recall: 0.7614
=== TOP 5 CLASES CON PEOR F1-SCORE ===
weight_lifting | F1: 0.3365 | Precision: 0.3646 | Recall: 0.3125
gymnastics | F1: 0.5098 | Precision: 0.5702 | Recall: 0.4610
basketball | F1: 0.5488 | Precision: 0.4958 | Recall: 0.6146
wrestling | F1: 0.5556 | Precision: 0.6122 | Recall: 0.5085
hockey | F1: 0.5948 | Precision: 0.5750 | Recall: 0.6161
model_save_path = f'{MODEL_TYPE}_sports_classifier.pth'
torch.save({
'epoch': len(train_losses),
'model_state_dict': model.state_dict(),
'optimizer_state_dict': optimizer.state_dict(),
'train_loss': train_losses[-1],
'test_loss': test_losses[-1],
'train_accuracy': train_accuracies[-1],
'test_accuracy': test_accuracies[-1],
'class_names': dataset.classes,
'model_type': MODEL_TYPE
}, model_save_path)
print(f'✓ Modelo guardado en: {model_save_path}')
# Resumen final completo
print(f'\n{"#"*100}')
print(f'{"RESUMEN FINAL DEL PROYECTO":^100}')
print(f'{"#"*100}')
print(f'\n{"ARQUITECTURA":^100}')
print(f'{"-"*100}')
print(f'Modelo: {model_name}')
print(f'Parámetros totales: {total_params:,}')
print(f'Parámetros entrenables: {trainable_params:,}')
print(f'Parámetros congelados: {frozen_params:,}')
if MODEL_TYPE.lower() == 'vgg16':
print(f'Bloques congelados: 1-3 (extracción de características básicas)')
print(f'Bloques entrenables: 4-5 + clasificador personalizado')
else:
print(f'Capas congeladas: 1-10 (extracción de características básicas)')
print(f'Capas entrenables: 11+ + clasificador personalizado')
print(f'\n{"HIPERPARÁMETROS":^100}')
print(f'{"-"*100}')
print(f'Épocas: {len(train_losses)}')
print(f'Batch size: {BATCH_SIZE}')
print(f'Learning rate: {LEARNING_RATE}')
print(f'Optimizador: Adam')
print(f'Función de pérdida: CrossEntropyLoss con class weights')
print(f'Regularización: Dropout(0.3) + Dropout(0.5)')
print(f'\n{"MÉTRICAS FINALES":^100}')
print(f'{"-"*100}')
print(f'Precisión de entrenamiento: {train_accuracies[-1]:.2f}%')
print(f'Precisión de prueba: {test_accuracies[-1]:.2f}%')
print(f'Gap (Overfitting): {train_accuracies[-1] - test_accuracies[-1]:.2f}%')
print(f'Pérdida de entrenamiento: {train_losses[-1]:.4f}')
print(f'Pérdida de prueba: {test_losses[-1]:.4f}')
print(f'\n{"TIEMPO DE ENTRENAMIENTO":^100}')
print(f'{"-"*100}')
print(f'Tiempo total: {total_time/60:.2f} minutos ({total_time:.2f} segundos)')
print(f'Tiempo promedio por época: {total_time/len(train_losses):.2f} segundos')
print(f'\n{"DATASET":^100}')
print(f'{"-"*100}')
print(f'Total de imágenes: {len(dataset)}')
print(f'Número de clases: {len(dataset.classes)}')
print(f'Imágenes de entrenamiento: {len(train_indices)} ({100*len(train_indices)/len(dataset):.1f}%)')
print(f'Imágenes de prueba: {len(test_indices)} ({100*len(test_indices)/len(dataset):.1f}%)')
print(f'Clases: {", ".join(dataset.classes)}')
print(f'\n{"#"*100}\n')
✓ Modelo guardado en: alexnet_sports_classifier.pth
####################################################################################################
RESUMEN FINAL DEL PROYECTO
####################################################################################################
ARQUITECTURA
----------------------------------------------------------------------------------------------------
Modelo: AlexNet
Parámetros totales: 57,093,974
Parámetros entrenables: 57,093,974
Parámetros congelados: 0
Capas congeladas: 1-10 (extracción de características básicas)
Capas entrenables: 11+ + clasificador personalizado
HIPERPARÁMETROS
----------------------------------------------------------------------------------------------------
Épocas: 137
Batch size: 32
Learning rate: 0.0001
Optimizador: Adam
Función de pérdida: CrossEntropyLoss con class weights
Regularización: Dropout(0.3) + Dropout(0.5)
MÉTRICAS FINALES
----------------------------------------------------------------------------------------------------
Precisión de entrenamiento: 73.50%
Precisión de prueba: 66.43%
Gap (Overfitting): 7.07%
Pérdida de entrenamiento: 0.8362
Pérdida de prueba: 1.4432
TIEMPO DE ENTRENAMIENTO
----------------------------------------------------------------------------------------------------
Tiempo total: 578.96 minutos (34737.67 segundos)
Tiempo promedio por época: 253.56 segundos
DATASET
----------------------------------------------------------------------------------------------------
Total de imágenes: 14149
Número de clases: 22
Imágenes de entrenamiento: 11319 (80.0%)
Imágenes de prueba: 2830 (20.0%)
Clases: badminton, baseball, basketball, boxing, chess, cricket, fencing, football, formula1, gymnastics, hockey, ice_hockey, kabaddi, motogp, shooting, swimming, table_tennis, tennis, volleyball, weight_lifting, wrestling, wwe
####################################################################################################
Observo que el problema principalmente es el sobreajuste, ya que la precisión en el conjunto de entrenamiento es significativamente mayor que en el conjunto de prueba. Esto indica que el modelo está aprendiendo demasiado bien los datos de entrenamiento, pero no generaliza bien a datos no vistos.
Es complicado entrenar la red neuoronal con un conjunto de datos relativamente pequeño y diverso como este, lo que puede llevar a que el modelo memorice los datos de entrenamiento en lugar de aprender patrones generales.
!jupyter nbconvert --to html Tarea3.ipynb